如何在节点js中编写非阻塞代码?

时间:2018-09-21 13:44:14

标签: node.js asynchronous

这是我的代码及其阻止。首先等待一段时间,然后输出结果。有什么办法可以不阻塞地写它,以便输出像预期的输出一样 输出: 499999999067109000 4950 45 蜱 蜱 蜱 蜱 ...

预期输出如下所示: 蜱 蜱 45 蜱 蜱 ... 4950 蜱 蜱 蜱 .... 499999999067109000 蜱 蜱 ...

setImmediate(function(){
    myCalc(1000000000).then(console.log).catch(console.error);
});

setImmediate(function(){
    myCalc(100).then(console.log).catch(console.error);
});

setImmediate(function(){
    myCalc(10).then(console.log).catch(console.error);
});

setInterval(function(){
  console.log("tick");
},100);

function myCalc(n){
  return new Promise((resolve, reject)=>{
    try{
      sum =0;
      for(let i=0;i<n;i++){
        sum += i;
      }
      resolve(sum);
    }catch(err){
      reject(err);
    }
  });
}

0 个答案:

没有答案