在那里调用异步函数

时间:2015-09-03 19:37:18

标签: javascript promise

我有一段看起来像这样的代码:

func().then(function (result){
   var a = func1(result);
   func2(a).then(function(result1){
    ////
   }
}

正如您所看到的,func会返回一个承诺,然后我们会调用另一个func1,它也会返回一个承诺。是否有可能将func2返回的承诺与当时的承诺链接起来,然后以某种方式在第二个中获取嵌套函数。

1 个答案:

答案 0 :(得分:3)

then()函数内的返回值用作promise值本身。因此,您可以轻松返回新承诺并继续链接:

func()
  .then(function (result){
    var a = func1(result);
    return func2(a);
  })
  .then(function(result1){
    ////
  })

请参阅承诺A +规范的2.2.72.3.2