detail.get(par1) .then((result)=>{ let l1 = result; detail.get(par2) .then((result)=>{ let l2= result; detail.get(par3) .then((result)=>{ res.render('index.html', {l1:l1,l2:l2,l3:result}); }) })这个似乎右回到了回调噩梦,请问该如何调整呢?
1 回答
繁星淼淼
TA贡献1775条经验 获得超11个赞
如果你的 detail.get 是可以并行的,那不如用 Promise.all 一起来吧:
const getDetailPromises =
[par1, par2, par3]
.map(par => detail.get(par));
Promise.all(getDetailPromises)
.then(([l1, l2, l3])
=> res.render('index.html', {l1, l2, l3}));
不然的话这个异步方法貌似没有意义啊。如果一定要等待前面的,那 async/await 无疑是最适合的。也可以像之前的答案那样串几个 then 避免缩进方面的麻烦。
添加回答
举报
0/150
提交
取消