我已经阅读了几篇关于这个主题的文章,但我仍然不清楚Promise.reject
和抛出错误之间是否有区别。例如,
使用Promise.reject
return asyncIsPermitted()
.then(function(result) {
if (result === true) {
return true;
}
else {
return Promise.reject(new PermissionDenied());
}
});
使用扔
return asyncIsPermitted()
.then(function(result) {
if (result === true) {
return true;
}
else {
throw new PermissionDenied();
}
});
我更倾向于使用throw
,因为它更短,但我想知道其中一个是否比另一个有任何优势。