Javascript 我必须捕获承诺构造函数中的错误吗?
我知道当我检测到拒绝承诺的问题时,我可以调用Javascript 我必须捕获承诺构造函数中的错误吗?,javascript,Javascript,我知道当我检测到拒绝承诺的问题时,我可以调用reject(),但我是否也应该使用try/catch来捕获错误?以下哪一项是正确的 function doSomething() { return new Promise((resolve, reject) => { let data = dangerousMethod(...); resolve(data); }); } 或: 我的直觉告诉我,也许我不必这么做,但我的直觉让我在写JS时遇到了很
reject()
,但我是否也应该使用try/catch
来捕获错误?以下哪一项是正确的
function doSomething() {
return new Promise((resolve, reject) => {
let data = dangerousMethod(...);
resolve(data);
});
}
或:
我的直觉告诉我,也许我不必这么做,但我的直觉让我在写JS时遇到了很多麻烦。如果出现异常,承诺将自动被拒绝,下面是 与参数resolve和reject一起传递的函数。这个 执行人职能由承诺立即执行 实现,传递解析和拒绝函数(执行器为 在承诺构造函数返回创建的 对象)。“解析”和“拒绝”函数在调用时为“解析”或“拒绝” 分别拒绝承诺。执行人通常会发起一些 异步工作,然后,一旦完成,调用 resolve函数来解析承诺,或者在出现错误时拒绝承诺 发生了如果在executor函数中抛出错误,则承诺 被拒绝。忽略执行器的返回值
您希望引发什么样的异常?为什么要使用带有承诺的
readFileSync
?怎么样?为什么不直接使用?Felix,更好。谢谢分享:)酷,我在看文档的时候错过了那句话。谢谢
function doSomething() {
return new Promise((resolve, reject) => {
try {
let data = dangerousMethod(...);
resolve(data);
} catch (err) {
reject(err);
}
});
}