在承诺链中使用等待
我刚刚升级到节点8,并希望开始使用asynchronous/等待。 我遇到了一个我花了一段时间才解决的错误,其实我只是想知道是否有一个更优雅的方式。 在这个时候,我不想重构整个函数,因为它会导致所有次要的重构。
async doSomething(stuff) { ... return functionThatReturnsPromise() .then((a) => ...) .then((b) => ...) .then((c) => { const user = await someService.createUser(stuff, c); user.finishSetup(); }); };
有没有一种方法可以在promise链中使用await
而不必重构上面的所有内容以使其async
?
callback没有被声明为async
函数。 你只能直接在async
函数中await
一个Promise
。
async doSomething(stuff) { // ... return functionThatReturnsPromise() .then((a) => /* ... */) .then((b) => /* ... */) .then(async (c) => { const user = await someService.createUser(stuff, c); return user; }); };
此外,如果您正在利用async
function, then
不需要使用它。
async doSomething(stuff) { // ... const a = await functionThatReturnsPromise(); const b = // ... const c = // ... const user = await someService.createUser(stuff, c); return user; };
- 在循环中使用async / await
- 如何在Heroku上启用ES2017function来运行Node.js应用程序?
- 打字稿asynchronous/等待与Observable或承诺
- async调用基类的构造函数之后,无法在子类上设置属性。 NodeJS v8.2.1
- Mongooseasynchronous/等待与Koa卡住await Model.findOne()。exec()
- 如何find在Node + Typescript + VSCodeasynchronous函数调用缺less的等待?
- asynchronous/等待类构造函数
- asynchronous并等待一些IDE的错误
- 节点与asynchronous/等待 – 如何得到错误发生的具体行?