小编Roc*_*bob的帖子

Nodejs - 错误回调时重新调用函数 - 是否存在非阻塞方式?

我有一个函数向API发出请求.有时API会出现一些小问题,并且不时有一两秒钟可用,导致出现错误,我想再次调用该函数.由于此回调后还有另外70~80行代码,我不想用一个分割流if(error) <do the same stuff> else <as here>

在尝试了一段时间后,我最终使用了do-while(错误)循环,它可以阻止.有这样的异步方式吗?

我的代码(简化为泛化):

//This is the request part

function bar(j, callback){      
   j++;

   //simulated error
   if(j<=10){   
       return( callback('dont', j) );
   }
   //simulated success
   else{
       return( callback(null, j) );
   }

}

//This is the main function - part of a bigger piece in my code

function foo(){
   var i = 0;
   var err = 'yes'; //else we'd get an 'err is not defined'

   do{
     bar(i, function(error, j){
        i = j
        err = error;

        if(error){ …
Run Code Online (Sandbox Code Playgroud)

asynchronous node.js do-while

4
推荐指数
1
解决办法
5431
查看次数

标签 统计

asynchronous ×1

do-while ×1

node.js ×1