nodejs计算时间间隔_NodeJs笔记:setTimeout 或 setInterval 的间隔时间执行

在 nodejs 中有时要遇到运行一个请求时不成功,希望能让它停顿一个再进行相同的操作。如果使用 setTimeout 和 setInterval 你观察其执行时会发现它并不会是我们想要的间隔时间性的执行,而是一路不停歇的往下跑,就在昨天也遇到这种问题。

其实这也是 nodejs 当中的一个隐藏坑,nodejs 本身就是异步处理的机制,所以你直接用 setTimeout 和 setInterval 其效果也如是。

那么如何来解决呢?还是之前所记录过的 Promise 。

例如 setTimeout 的实例

private async _sleep(time: number) {

return new Promise(function (resolve, reject) {

setTimeout(function () {

resolve();

}, time);

});

}

那么如何调用它呢?不用再写了吧。那么 setInterval 呢?也和 setTimeout 一样的写法啊。只是说此时的 setTimeout 变成了 setInterval 而易啊

private async _sleep(time: number) {

return new Promise(function (resolve, reject) {

setInterval(function () {

resolve();

}, time);

});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值