如何在打字稿中暂停功能?

如何在此函数中添加暂停,以使“ datasum”的值每2秒更改一次?

i:number; datasum:number; sum:number;
startCalculating(_i,_sum) 
{
 _i=1; _sum=0;
 while(_i<100)
 {
  _sum=_sum+2;
  this.datasum=_sum;
  _i=_i+1;
 }
}

我已经尝试过建议的方法:pause-in-jstypescript-sleepasync / await-in-ts任何帮助/建议将不胜感激。

斯特凡诺·达皮亚兹(Stefano Dalpiaz)

一种解决方案是使用async/await模式,然后在while循环中等待Promise2秒后解决。

像这样:

function delay(timeInMillis: number): Promise<void> {
  return new Promise((resolve) => setTimeout(() => resolve(), timeInMillis));
}

class YourClass {
  datasum = 0;

  async startCalculating(): Promise<void> {
    let _i = 0;
    let _sum = 0;
    while (_i < 100) {
      _sum += 2;
      this.datasum = _sum;
      await delay(2000);
      _i += 1;
    }
  }
}

为了清楚起见,我尝试使代码尽可能与您自己的相似。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章