【发布时间】:2018-10-05 17:54:28
【问题描述】:
我正试图围绕no-return-await 规则展开思考。
考虑这个sn-p:
const a = async () => {
return 5;
};
const b1 = async () => {
return a();
};
const b2 = async () => {
return await a();
};
const wut = async () => {
console.log(await b1());
console.log(await b2());
};
wut();
每个异步函数都返回一个承诺,所以a() 返回一个承诺。在这种情况下,我希望 b1() 也包含一个承诺,因此结果将是一个嵌套的承诺。检索值需要双重等待,就像在b2 中一样,但这似乎不需要,因为console.log 都正确返回了值。这是怎么回事?嵌套的 Promise 是递归解决的吗?我迷路了。感谢您的任何指示和解释!
【问题讨论】:
-
the result would be a nested promise.no - 解析过程意味着 b1 和 b2 返回的承诺相同(不是相同的承诺,但相同的解析值) -
“嵌套的 Promise 是递归解决的吗?” - 是的,就是这样。
标签: javascript async-await return eslint