有人可以解释为什么这不起作用,因为我期望吗?承诺中的承诺承诺
我想只返回在Promise.each()。then()中使用的创建或更新项目的ID。这是必要的,因为create返回一个对象并更新一个对象数组。
Promise.each(items, function(item){
if(...item doesn\'t exist...)
return Item.create(item)
.then(function (created) {
return created.id;
///HOW DO I GET THIS ID ONLY?
});
else {
return Item.update(item)
.then(function (updated) {
return updated[0].id;
///AND THIS ID?
});
}
}).then(function(result) {
sails.log("THIS SHOULD BE AN ID" + JSON.stringify(result));
});
结果是整个创建的对象,而不是仅仅是id。我想返回一个只更新了ID的数组。显然嵌套承诺是坏的,但我不知道我可以如何简化这一点。
2.x中的Promise.each返回原始数组,在迭代器内部返回仅用作发出迭代下一个索引之前等待的承诺。你想做什么 ?你试图返回哪个ID以及为什么那个ID? – Esailija 2015-02-10 11:17:53
所以你说我不能? – glasspill 2015-02-10 11:19:14
我编辑了我的问题,我希望很清楚我现在想要做什么 – glasspill 2015-02-10 11:30:03