我想做这样的事情
function doSomething(aPromise) {
if (/*xxx*/) {
// doSomethingElse
} else {
return aPromise
.then(doSomethingMore)
}
}
但是,如果我执行此操作,则在调用aPromise
时将始终执行doSomething
。我如何懒惰地执行它直到它被调用
答案 0 :(得分:0)
尝试将aPromise
用作函数,在Promise
块<{1}}调用aPromise()
时返回else
值
function aPromise() {
return Promise.resolve(/* `Promise` return value */)
}
function doSomething(aPromise) {
if (/*xxx*/) {
// doSomethingElse
} else {
// call `aPromise()`
return aPromise()
.then(doSomethingMore)
}
}