如何从then()函数中的Promise访问内容,在next then()函数中访问它

时间:2016-07-19 19:03:02

标签: javascript promise access resolve

如何从then()函数中的Promise访问内容,并在next then()函数中访问它。

我的问题大致通过以下代码解释。

someRandomPromiseFunction().then(function(theArray) {
  var newProm = _.map(theArray, function(arrayItem) {
    return new Promise(function(resolve, reject) {
      resolve(arrayItem);
    });
  }
  Promise.all(newProm).then(function(theArray) {
    return theArray; // How do I access this in the next then() function
  }).catch(function(err) {
    return err;
  });
}).then(function(theArray) {
  console.log(theArray); // I need to access theArray from the Promise.all HERE
});

1 个答案:

答案 0 :(得分:5)

回复承诺

then()

当您在then()回调中返回承诺时,外部承诺会一直等到内部承诺解析/拒绝。如果内部promise继续解析,那么该值将传递到外部promise中的下一个new Promise((resolve,reject)=>{ resolve("Main promise"); }).then(function(){ return new Promise((resolve,reject)=>{ resolve(); }).then(()=>"Stackoverflow"); }).then(function(data){ console.log("Outer 'then()' data:",data); });回调。否则,拒绝值将传递给外部promise中的下一个失败回调。



{{1}}