javascript - 嵌套函数的回调

标签 javascript

我有一个这样的函数:

//parent function
function myFirstFunction(param1, callback) {
      //outside inside
      mySecondFunction(param1,function(error,result){
              if(error){ //should return 'error in mySecondFunction' to whoever called this  }
              else{
                   myThirdFunction(error2,result2){
                        if(error2){ //should return 'error in myThirdFunction' to whoever called this }
                        else{ //should return 'Success in myThirdFunction' to whoever called this }
                   });
              }
      });

});

然后我调用这个函数,如下所示:

myFirstfunction(p1, function(e,r){
      if(e){ console.log('The error returned is : ' + e) };
      else{console.log('Success! The message returned should be Success in myThirdFunction. Is it?  ' + r );}
});

我很困惑在嵌套函数中将回调放在哪里。例如,如果我没有任何嵌套函数,我只需在正文中返回回调(null,'第一个函数成功')。我怎样才能将这些消息返回给调用它们的任何地方,以便他们知道是否存在任何错误或者是否成功一直到达第三个函数?

最佳答案

你做的一切都是对的!您可以在每次错误时在 myFirstFunction 中传递回调时调用回调,即

  function myFirstFunction(param1, callback) {
  //outside inside
      mySecondFunction(param1,function(error,result){
          if(error){
             callback("error in mySecondFunction");
          }
          else{
               myThirdFunction(error2,result2){
                    if(error2){ 
                      callback("error in myThirdFunction");
                   }
                    else{ 

                      callback(null,result2);//I'm not sure what data you want here
                   }
               });
          }
  });

});

关于javascript - 嵌套函数的回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37451218/

相关文章:

javascript - 应用程序开发过程

javascript - 基本计算器因为 JS 而无法工作?

javascript - 将 Ruby 1.9.2 代码转换为 JavaScript?

javascript - 使用延迟加载/代码拆分处理 "Loading chunk failed"错误

javascript - AngularJS - 转换 EPOC 日期

javascript - NodeJS - 将变量发送到客户端

javascript - jQuery 根据 RADIO BUTTON 更改 FIELDSET

javascript - 如何在 html5、css3 或 jQuery 中随着鼠标移动创建移动粒子?

javascript - 有没有一种方法可以悬停一个元素并使用纯 css/js 设置许多其他元素的样式?

javascript - 重定向 react 路由器中的所有路由