在现代Javascript中,我们有一种叫做承诺的东西。我们可以在Promise内部使用reject
和resolve
。
我的问题是:在Promise内部调用reject
或resolve
之后,我需要显式返回吗?就像这样:
function foo() {
...
return new Promise((resolve, reject) => {
...
if (err) {
reject(err);
// return;
}
if (httpResponse.statusCode === 200) {
resolve(httpResponse);
// return;
}
});
}
我的问题是:在Promise内部调用reject或resolve之后,我需要显式返回吗?就像这样:
不,你不需要返回声明。
摘自Mozilla开发者网络的承诺文章:
句法
new Promise( /* executor */ function(resolve, reject) { ... } );
如您所见,没有提到任何返回语句。