最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何在嵌套回调函数内的回调函数周围执行for循环

IT培训 admin 3浏览 0评论

如何在嵌套回调函数内的回调函数周围执行for循环

我正在尝试遍历一个回调函数,其中该for循环也在嵌套的回调函数之内,但是在for循环行之后没有打印任何内容

function createStuff(inputs, callback) {
                .
                .
                .
   Foo.bar(inputs.arg1, inputs.arg2, function(err, stuff1) {
      if (err) {
        return callback(err)
      }
      Foo.bar(inputs.arg1, inputs.arg2, function(err, stuff2) {
         if (err) {
           return callback(err)
         }
         console.log("test1")
         for (let i = 0; i < inputs.length; i++) {
            console.log("test2")
            Moo.bar(inputs.arg1[i], inputs.arg2[i], function(err, stuff3) {
               console.log("test3")
               if (err) {
                 return callback(err)
               }
            })
          }
       })
    })
.
.
.
}

我基本上是想在回调函数Moo.bar()上循环,在没有机会调用我不喜欢的函数之前,“ test1”可以很好地打印出来,但是“ test2”却从来没有输出过理解,显然“ test3”也不会打印出来。如何以可接受的Javascript node.js方式正确执行此操作。请注意,该循环围绕嵌套回调中的最后一个回调函数,因此不确定是否使循环更容易。

回答如下:

如何在嵌套回调函数内的回调函数周围执行for循环

我正在尝试遍历一个回调函数,其中该for循环也在嵌套的回调函数之内,但是在for循环行之后没有打印任何内容

function createStuff(inputs, callback) {
                .
                .
                .
   Foo.bar(inputs.arg1, inputs.arg2, function(err, stuff1) {
      if (err) {
        return callback(err)
      }
      Foo.bar(inputs.arg1, inputs.arg2, function(err, stuff2) {
         if (err) {
           return callback(err)
         }
         console.log("test1")
         for (let i = 0; i < inputs.length; i++) {
            console.log("test2")
            Moo.bar(inputs.arg1[i], inputs.arg2[i], function(err, stuff3) {
               console.log("test3")
               if (err) {
                 return callback(err)
               }
            })
          }
       })
    })
.
.
.
}

我基本上是想在回调函数Moo.bar()上循环,在没有机会调用我不喜欢的函数之前,“ test1”可以很好地打印出来,但是“ test2”却从来没有输出过理解,显然“ test3”也不会打印出来。如何以可接受的Javascript node.js方式正确执行此操作。请注意,该循环围绕嵌套回调中的最后一个回调函数,因此不确定是否使循环更容易。

回答如下:
发布评论

评论列表 (0)

  1. 暂无评论