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