【发布时间】:2016-11-06 17:47:36
【问题描述】:
我正在创建一个使用 koa 和 babel async/await 的 API
我的控制器函数中的每个 promise 都如下所示:
async function ... {
await Promise ...
.then(data => response function)
.catch(err => err function)
}
每个 promise 都有完全相同的响应和错误函数。
有没有办法让我用相同的 then/catch 自动让每个 promise 解析(就像 promise 的默认解析函数)。
那么我的代码将如下所示:
async function ... {
await Promise ...
}
promise 会自动解析/捕获。
【问题讨论】:
-
如果你有异步/等待,你不使用
try { return response(await promise) } catch (e) { err(e) }吗? -
我在很多情况下都使用它,但在这种情况下我不是。
-
这看起来像是 Koa 对我的误解。相反,您倾向于在上游使用中间件功能来处理下游的成功和失败,所有这些都在一个地方。使用中间件来分解重复的逻辑并保持路由最小化,这就是它的用途。
-
你能举个例子吗?
标签: node.js promise async-await ecmascript-6 koa