[英]Chaining promises with prams in Javascript
試圖將兩個諾言鏈接在一起,使一個諾言成為可能。 如何鏈接它們? p1().then(p2(23));
沒用
function p1() {
return new Promise(function(resolve, reject) {
setTimeout(function(){
console.log("hey p1")
resolve()
}, 2000)
})
}
function p2(b) {
return new Promise(function(resolve, reject) {
setTimeout(function(){
console.log("hey p2: " + b)
resolve()
}, 2000)
})
}
p1().then(p2(23));
您應該傳遞返回promise的函數,例如:
function p1() {
return new Promise(function(resolve, reject) {
setTimeout(function(){
console.log("hey p1")
resolve()
}, 2000)
})
}
function p2(b) {
return new Promise(function(resolve, reject) {
setTimeout(function(){
console.log("hey p2: " + b)
resolve()
}, 2000)
})
}
p1()
.then(function(){
return p2(23)
});
如果可以的話,我建議您使用async/await
。
我在Chrome控制台中運行了該程序,它按預期運行。
async function p1() {
await setTimeout(function(){
console.log("hey p1");
}, 2000)
}
async function p2(b) {
await setTimeout(function(){
console.log("hey p2: " + b)
}, 2000)
}
p1().then(() => p2(23));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.