Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 回调函数数据处理_Javascript_Google Chrome - Fatal编程技术网

Javascript 回调函数数据处理

Javascript 回调函数数据处理,javascript,google-chrome,Javascript,Google Chrome,我不太熟悉javascript中的回调函数以及它们如何处理数据 我想在google chrome中实现类似的功能 function getBookmarkBar() { chrome.bookmarks.getChildren('1',function(bookmarkNodes) { return bookmarkNodes; }); } function getOtherBookmarks(folderId) { chrome.bookmarks.getChild

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

我想在google chrome中实现类似的功能

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
    });
});

在泛型函数中编写上述代码将使其高度可重用。

无法同步函数。另外,这样做是个坏主意,因为在函数完全执行之前,您会阻塞程序

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