此问题已在此处找到答案:
等待承诺链有什么不对((3个答案)
使用async/await纠正try…catch语法(4个答案)
昨天关门了。
我怀疑我是否编写了一个程序,我不知道如果我的循环中出现任何错误,应该用什么来处理,以及用什么来编写来处理错误处理是最好的做法
我应该用吗 then catch
或 try catch
在我的 for of
循环作为输出
for (value of Data){
test = await getValue(value)
.then((obj)=>{
// some code})
.catch((err)=>{
console.log(err);});
}
for (value of Data){
try{
test= await getValue(value);
}
catch (e){
console.log(e);
}
ps:欢迎投反对票,但需要适当的解释,这是最好的写作练习
1条答案
按热度按时间isr3a4wc1#
.catch()
vs。try/catch
这在某种程度上是个人偏好,也取决于您希望代码如何运行。通常,你会使用try/catch
具有await
及.catch()
不使用时await
,但也有例外。此外,您通常不会使用.then()
使用时await
. 关键await
是为了避免.then()
以及它导致的嵌套代码。里面,你的
for
环await
没有.then()
vs。.then()
具有await
给出了完全不同的结果。一个提供异步操作的并行运行,另一个提供异步操作的顺序运行for
循环暂停,直到await
实现。所以,你使用一个能给你想要的行为。然后,选择匹配的错误处理方法(
try/catch
具有await
及.catch()
具有.then()
-通常)。