有人可以解釋爲什麼這不起作用,因爲我期望嗎?承諾中的承諾承諾
我想只返回在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