Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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_Facebook_Facebook Fql - Fatal编程技术网

Javascript:使函数等待查询完成

Javascript:使函数等待查询完成,javascript,facebook,facebook-fql,Javascript,Facebook,Facebook Fql,因此,我在一个函数中进行facebook查询(fql),我需要在另一个函数中使用返回的结果,但查询需要一些时间。如何延迟第二个函数直到加载整个查询?以下是我发现的一个示例: 函数(响应){}将在查询完成后启动您可以通过将回调函数传递给: 顺便说一句,您可能需要阅读下面的几个问题,以便更熟悉JavaScript中闭包和异步执行的工作原理 查询函数没有回调?在某些查询中,响应需要更长的时间,如果我返回响应并在函数中调用它,第二个函数将在查询之前加载(因为查询需要更长的时间)。@StefanPe

因此,我在一个函数中进行facebook查询(fql),我需要在另一个函数中使用返回的结果,但查询需要一些时间。如何延迟第二个函数直到加载整个查询?

以下是我发现的一个示例:


函数(响应){}
将在查询完成后启动

您可以通过将回调函数传递给:

顺便说一句,您可能需要阅读下面的几个问题,以便更熟悉JavaScript中闭包和异步执行的工作原理


查询函数没有回调?在某些查询中,响应需要更长的时间,如果我返回响应并在函数中调用它,第二个函数将在查询之前加载(因为查询需要更长的时间)。@StefanPerju,您不能只从闭包函数返回结果,您需要以其他方式传递它。@Juicy Scripter,或者,我可以在这个函数中调用我需要的函数。但只有在查询完成加载之后。更准确地说,我需要将检索到的信息放在一个json中,然后用这个json作为参数调用一个函数。
FB.api(
  {
    method: 'fql.query',
    query: 'SELECT name FROM user WHERE uid=me()'
  },
  function(response) {
    // !!! here you should write second function !!!
    amotherFunction(response);
    alert('Your name is ' + response[0].name);
  }
);
FB.api('/fql', {q: 'YOUR QUERY HERE'}, function(response) {
  console.log(response);
});