这是
Promise构造函数antipattern的async
/ await版本!
从来没有过使用
asyncfunction作为一个
Promise执行程序功能(即使你可以把它工作1)!
[1:通过调用
resolve而
reject不是使用
returnand
throw语句]
通过“异步”他们不是指
async功能,所以我认为他们的解释在这里不适用
他们也可以。一个简单的例子就 不能 工作
new Promise(async function() { await delay(…); throw new Error(…);})相当于
new Promise(function() { return delay(…).then(function() { throw new Error(…); });})现在清楚的
throw是,它位于异步回调中。
该
Promise构造也只能望尘莫及 _同步_异常,和一个
async function不会抛出
-它总是会返回一个承诺(这可能会遭到拒绝,虽然)。当promise正在等待
resolve被调用时,该返回值将被忽略。



