如何在不影响其他线程的情况下sleep node.js中的线程?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (21)

如何在不影响其他线程的情况下sleep node.js中的线程?

提问于
用户回答回答于

使用非阻塞的setTimeout。这里是一个例子:

setTimeout(function() {
  console.log('hello world!');
}, 5000);

用户回答回答于

如果你在每个请求中都有一个异步请求的循环,并且希望每个请求之间有一段时间,则可以使用此代码:

   var startTimeout = function(timeout, i){
        setTimeout(function() {
            myAsyncFunc(i).then(function(data){
                console.log(data);
            })
        }, timeout);
   }

   var myFunc = function(){
        timeout = 0;
        i = 0;
        while(i < 10){
            // By calling a function, the i-value is going to be 1.. 10 and not always 10
            startTimeout(timeout, i);
            // Increase timeout by 1 sec after each call
            timeout += 1000;
            i++;
        }
    }

在发送下一个请求之前,这些示例在每次请求后等待1秒钟。

扫码关注云+社区