我试试这个:
var result = [];
promise.then(function (data) {
result.push(data);
});
console.log(result)
,结果数组为空。有没有办法让它脱离承诺?
答案 0 :(得分:1)
承诺的重点是允许简单的动作链接,其中一些是异步的。
你可以做
var result = [];
promise.then(function (data) {
result.push(data);
}).then(function(){
console.log(result)
});
答案 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);
});