【发布时间】:2020-07-08 19:36:33
【问题描述】:
我有一个服务类叫做:Test
那个Test类有一个函数叫做:getMe()
在 getMe 函数中,我有 3 个等待语句,第二个需要第一个的答案,第三个需要第二个的答案。一个例子:
class Test {
async getMe() {
const res1 = await promise1;
const res2 = await promise2(res1);
const res3 = await promise3(res2);
return res3;
}
}
现在,在我的代码中,我调用了这个函数。
const a = new Test();
try{
const res = await a.getMe();
}catch(err){
console.log("error", err);
}
现在,由于在getMe 函数中,我已经在等待承诺,它没有优化,因为创建了一个中间承诺。阅读:Difference between `return await promise` and `return promise`
所以,我想知道,如果在getMe 函数中,我不应该写await 进行优化并直接返回promise,我的代码怎么写?我不想在我的外部代码中调用awaitpromise1、promise2、promise3,因为那样我就没有一个函数来处理最后的位并且我的代码会分散。
你有什么想法,可以给你什么建议?
【问题讨论】:
标签: javascript node.js promise