回调函数数据处理

时间:2011-04-04 12:02:24

标签: javascript google-chrome

我不太熟悉javascript中的回调函数以及它们如何处理数据。

我想在谷歌浏览器中实现类似的东西

function getBookmarkBar()
{
  chrome.bookmarks.getChildren('1',function(bookmarkNodes)
  {
     return bookmarkNodes;
  });
}

function getOtherBookmarks(folderId)
{
  chrome.bookmarks.getChildren(folderId,function(bookmarkNodes)
  {
    return bookmarkNodes;
  });
}

function doprocessing(){
{
  bookmarkbarNodes=getBookmarkBar();
  otherNodes=getOtherBookmarks('2');

 //do some processing for bookmarkbarNodes and otherNodes
}

有可能(或尽可能接近)这样做吗? 现在我通过一个函数来做这个,但由于检索和修改逻辑的耦合,这将是个坏主意:

function process{
 chrome.boomarks.getChildren('1',function(bookmarkNodes){
   chrome.bookmarks.getChildren('2',function(otherNodes){
     //do processing
    });
});
在通用函数中编写上面的代码将使其具有高度可重用性。

1 个答案:

答案 0 :(得分:0)

无法同步功能。另外,这样做是个坏主意,因为你会阻止程序直到函数完全执行。

回调是一件好事。 API完全不同步是有充分理由的。 他们不希望您同步这些功能。