如何暂停打字稿中的功能?
How to pause a function in typescript?
如何在此函数中添加暂停,以便 '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;
}
}
我已经尝试过建议的方法:
pausing-in-js, and 。
任何 help/suggestions 将不胜感激。
一个解决方案可能是使用 async/await
模式,在您的 while
循环中,您可以等待一个 Promise
在 2 秒后得到解决。
像这样:
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;
}
}
}
为清楚起见,我尽量使代码与您自己的代码相似。
如何在此函数中添加暂停,以便 '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;
}
}
我已经尝试过建议的方法:
pausing-in-js,
一个解决方案可能是使用 async/await
模式,在您的 while
循环中,您可以等待一个 Promise
在 2 秒后得到解决。
像这样:
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;
}
}
}
为清楚起见,我尽量使代码与您自己的代码相似。