我有一系列遞歸承諾,它們遍歷層次結構,獲取當前節點的父節點,直到到達頂端。我可以得到好的結果,但我不知道如何存儲結果。我正在使用Bluebird創建getNodeData承諾。向數組中添加遞歸承諾的結果
var getParent = function(node) {
getNodeData(node)
.then(function(node) {
if (term.parent) {
getParent(node.parent);
} else {
//return all the nodes as an array
}
});
};
};
如果這是異步代碼,你需要將返回承諾允許然後()「做它的工作,並讓你能夠通過承諾返回最後的數據。 'dataRetriver.getNodeData()'返回什麼? – jfriend00 2014-10-27 17:31:41
總是'返回'承諾從異步功能! – Bergi 2014-10-27 19:43:17
@ jfriend00 getNodeData只是用一個對象來解析葉子的細節。 – Tom 2014-10-28 10:43:20