0
我想獲取一個chrome書籤並找到它的父母,一直到父書籤文件夾。遞歸異步函數中的承諾
下面的函數用於獲取給定書籤的第一個父項。
function getParent(bookmark) {
var promise = new Promise(function(resolve, reject) {
chrome.bookmarks.get(bookmark.parentId, function(nodes) {
resolve(nodes[0]);
});
});
return promise;
}
我無法獲得所有書籤父母。下面的功能不起作用,但它應該顯示我在找什麼。
function getParents(bookmark, parents) {
var parents = parents || [];
var promise;
getParent(bookmark).then(function(parent) {
if (parent.parentId == '0') {
parents.push(parent);
promise = Promise.resolve(parents);
} else {
parents.push(parent);
getParents(parent, parents);
}
});
return promise;
}
我想我真正的問題是:你如何得到在遞歸異步函數中工作的承諾?
或者,如果你有更好的方法做到這一點,那也可以。
這就行了,謝謝! – markain 2014-10-28 16:23:38