【发布时间】:2019-01-27 23:07:02
【问题描述】:
我有一个返回承诺的承诺。
目前我的代码是:
async isRepo() {
return await this.gitPromise.checkIsRepo();
}
但是我需要返回 promise 的值(true 或 false)才能在其他地方使用函数 isRepo()。
即使使用“then”,我也没有成功返回承诺的值,而不是承诺本身。
例如,我需要它来做:
if (await isRepo()) {
// true : todo
} else {
// false : something else
}
【问题讨论】:
-
不,你不能返回这个值——当你调用函数时它还不存在。你只能返回你已经做过的承诺 - 然后在你的
if条件下返回await它 - 你已经做了并且应该可以工作。 -
除非 if 语句在异步函数中,否则 await 在 if 语句中不起作用。
-
顺便说一句,drop the pointless
return await。只需isRepo() { return this.gitPromise.checkIsRepo(); } -
你为什么add the
awaitin an edit?你有问题吗?什么错误,什么不工作?
标签: javascript typescript promise