从中获取Promise数据Javascript

时间:2015-05-06 12:12:56

标签: javascript arrays promise

我试试这个:

var result = [];
promise.then(function (data) {
  result.push(data);

});
console.log(result)

,结果数组为空。有没有办法让它脱离承诺?

2 个答案:

答案 0 :(得分:1)

不,you can't.

承诺的重点是允许简单的动作链接,其中一些是异步的。

你可以做

var result = [];
promise.then(function (data) {
    result.push(data);
}).then(function(){
    console.log(result)
});

我建议你阅读this introduction to promises

答案 1 :(得分:1)

承诺有时被称为期货未来价值。您无法直接从承诺中获取,但您可以获得未来值的承诺,如下所示。

var futureResult = promise.then(function (data) {
    var result = [];
    result.push(data);
    return result;
});

futureResult.then(function (result) {
    console.log(result);
});

futureResult.then(function (result) {
    console.log('another logger');
    console.log(result);
});