【发布时间】:2018-01-19 14:52:32
【问题描述】:
我正在使用 Hapi Js 和 Sequelize 对我的 API 做一些事情,在这种情况下,我需要先检查所有内容,然后再进行下一步。
这是我的代码
return promise.map(array, function (values) {
models.Goods.find({
where: {
id: values.id
}
}).then(function (res) {
if (!res || res.length === 0) {
throw new Error("Item not found");
}
});
}).then(function (res) {
//do something after check
//next step
}).catch(function(error) {
console.log(error.message);
});
在进行下一步之前,我需要检查 id 是否在我的数据库中,但是在此代码中,如果有任何错误,throw new Error("Item not found"); 永远不会转到catch function,所以我尝试做一些事情来获取误差函数。我更改了promise.map 中的代码,我将catch 函数放入models.Goods 和console.log 错误中,错误显示但promise.map 仍在运行并转到//next step 部分而不是停止。
如果models.Goods有错误,请帮助我如何破解promise.map
谢谢
【问题讨论】:
标签: javascript node.js promise sequelize.js hapijs