【发布时间】:2019-08-26 17:45:27
【问题描述】:
我以前用(样式 1)为 async-await 编写代码,其他开发人员建议我用(样式 2)编写。
谁能给我解释一下这两种风格有什么区别,对我来说似乎是一样的。
代码样式1:
const fixtures = await fixtureModel.fetchAll();
const team = await teamModel.fetch(teamId);
代码风格2:
const fixturesPromise = fixtureModel.fetchAll();
const teamPromise = teamModel.fetch(teamId);
const fixtures = await fixturesPromise;
const team = await teamPromise;
【问题讨论】:
-
在这种情况下确实没有可量化的差异。与
Promise.all[fixturesPromise,teamPromise]一起使用时,第二种代码样式可用或可能有意义。 -
你问过其他开发者为什么?你同意这些理由吗?
-
@jonrsharpe 他告诉我两者并不相互依赖,所以首先创建承诺然后调用。
-
...你认为推理有意义吗?
-
@jonrsharpe 我认为当我们等待数据库调用发生时,它总是会调用第一个调用,然后等待,然后是第二个调用。
标签: node.js express async-await