【发布时间】:2018-12-03 18:07:21
【问题描述】:
以下方法应该返回一个被拒绝的或一个已解决的承诺,但它似乎同时返回:
function isNotAlreadyRegistered(newsletterJsonArray, parsedJson){
const emailAsId = parsedJson["email"];
newsletterJsonArray.forEach(function(entry) {
if( entry["email"] == emailAsId){
console.log("User already registered.");
return Promise.reject();
}
});
console.log("User not registered.")
return Promise.resolve();
}
该方法记录两条消息:
- “用户已注册。”
- “用户未注册。”
所以在下面我无法处理承诺。我错过了哪一点?
【问题讨论】:
-
“我错过了哪一点?”从
forEachiteratee 返回任何内容都不会停止循环。除非你抛出错误,否则你无法停止它。 -
return Promise.reject();这将从您的匿名函数function(entry)返回,而不是isNotAlreadyRegistered
标签: node.js asynchronous es6-promise