在這種情況下,我應該如何停止承諾鏈? 只有當第一個條件爲真時,才執行第二個代碼。如何破解承諾鏈?
var p = new Promise((resolve, reject) => {
setTimeout(function() {
resolve(1)
}, 0);
});
p
.then((res) => {
if(true) {
return res + 2
} else {
// do something and break the chain here ???
}
})
.then((res) => {
// executed only when the condition is true
console.log(res)
})
只會拋出一個錯誤在這裏工作你的用例?如果你拋出任何類型的錯誤(甚至只是拋出新的Error();'應該可能工作),你不會進入你的下一個然後 – jas7457
是的我知道,但它會打破承諾鏈,因此不會打到下一個。如果這就是他正在嘗試做的所有事情,這將起作用 – jas7457