我一直在玩promises和javascript,特别是bluebird.js。
通过阅读文档,如果您想链接可以使用Promise.all([p1, p2, p3])
的承诺并将值作为数组返回,则会显示... [1,2,3]
。或Promise.props()
返回对象引用。
我如何构造一个方法,其中每个promise返回一个传递给下一个promise的值,在需要的地方改变值?如果有人能举一个例子会很棒。
答案:
function Test(value) {
return new Promise(function(resolve) {
setTimeout(function(){
resolve(value);
}, 500);
}).then(function(value){
return new Promise(function(resolve) {
setTimeout(function(){
value += ", nice hat!";
resolve(value);
}, 2000);
});
}).then(function(value){
console.log(value);
});
}
var test = new Test("Hi Promise");