我是JavaScript的新手,并试图学习承诺。
我了解到Promise.all()
waits for all fulfillments (or the first rejection)。
我还了解到.then()
能够将修改后的内容作为返回值返回到承诺。
我正在尝试查看是否有办法修改单个承诺中的值,因为该承诺文档中没有任何示例。
在以下示例中,我有两个单独的承诺p1,p2
,而p3
会解决所有承诺,我试图在p1, p2
中返回p3
的值,但所有我得到的是Promise { <pending> }
const _ = require('lodash');
var p1 = Promise.resolve(1);
var p2 = Promise.resolve(2);
var p3 = Promise.all([p1, p2]).then(
values => {
return _.map(values, function(a){return a+1});
});
//If I output the value of `p3` it does not give me the value of [2,3]
console.log(p3);
如何更改回报以便我可以获得[2,3]
的内容?