我想使用帶有參數的承諾,像下面的psudo代碼:重用的承諾與參數
let lookForXPromise = new Promise(arg1. arg2, function(resolve, reject){
asyncFunc(arg1, arg2, function(value){
if(value != "undefined"){
resolve(value);
}
else{
reject(); // didn't find X
}
});
});
lookForXPromise(1, "foo").then(
function(val){ ... do something...
}).catch(){ ...
但看來,一個承諾只接收function(resolve, reject)
,所以我怎麼能宣佈一個承諾,並與重用不同的論點?
編輯:這樣就可以遍歷值的集合,每次發送不同的值給承諾。
您不重複承諾。你創造新的。你想要的是一個工廠根據提供給它的參數創建承諾。所以你需要一個工廠函數來接受圍繞諾言的爭論,而不是在裏面 –
哦,很酷,有沒有一個承諾工廠,我可以使用,而無需引入角度或其他庫? @TJ – shinzou