Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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_Angularjs - Fatal编程技术网

Javascript在计算所有参数之前返回结果?

Javascript在计算所有参数之前返回结果?,javascript,angularjs,Javascript,Angularjs,我在中找到了以下示例: 据我所知,functionquery()的第二个参数是一个函数,它根据资源查询的成功结果进行评估。但同时,此函数接受变量cards,该变量是从函数query()的结果中分配的 我不明白,这对Javascript来说是否正常,因为每个异步操作都执行单线程 还是AngularJS的创建者为了在返回结果后执行函数paramater而做出了特殊的努力 如何编写自己的函数 function myfunction(argument, runbefore, runafter) {

我在中找到了以下示例:

据我所知,function
query()
的第二个参数是一个函数,它根据资源查询的成功结果进行评估。但同时,此函数接受变量
cards
,该变量是从函数
query()
的结果中分配的

我不明白,这对Javascript来说是否正常,因为每个异步操作都执行单线程

还是
AngularJS
的创建者为了在返回结果后执行函数paramater而做出了特殊的努力

如何编写自己的函数

function myfunction(argument, runbefore, runafter) {
   runbefore();
   POSTPONE runafter();
   return Math.sin(argument);
}

它将在其自身之前执行第二个参数,在其自身之后执行第三个参数?

如果我理解正确,您会问如何在return语句之后调用回调函数。一种可能的方法是通过内置函数在以后调用另一个函数。以这段代码为例:

function doItLater(arg1, callbackFn) {
    setTimeout(1000, callbackFn);
    return arg1;
}
这将返回与传递的参数相同的参数,稍后将调用回调函数(函数已返回后约1秒)。还有其他方法可以延迟回调函数。例如,使用
XMLHttpRequest
,可以在收到HTTP响应后调用回调函数。您还可以连接到用户事件,以便在用户执行特定操作时调用函数


如果您想了解一下
setTimeout
之类的东西在单线程环境中是如何工作的,我建议您阅读。

如果我理解正确,您要问的是如何在return语句之后调用回调函数。一种可能的方法是通过内置函数在以后调用另一个函数。以这段代码为例:

function doItLater(arg1, callbackFn) {
    setTimeout(1000, callbackFn);
    return arg1;
}
这将返回与传递的参数相同的参数,稍后将调用回调函数(函数已返回后约1秒)。还有其他方法可以延迟回调函数。例如,使用
XMLHttpRequest
,可以在收到HTTP响应后调用回调函数。您还可以连接到用户事件,以便在用户执行特定操作时调用函数


如果您想了解一下
setTimeout
之类的东西在单线程环境中是如何工作的,我建议您阅读。

您发布的代码中的
.query()
方法只有一个参数。是的,其中一个参数是一个函数,它访问
query()
的结果。这怎么可能?不太清楚你在问什么,但如果我理解正确的话,
.query()
返回一个空对象,在执行回调之前,该对象会被响应“填满”。事实上,在你链接到的文档中(在标题下)有一个非常透彻的解释“Returns”)。不太清楚您试图做什么您发布的代码中的
.query()
方法只有一个参数。是的,并且有一个参数是一个函数,它访问
query()
的结果。这怎么可能?不太清楚您在问什么,但如果我理解正确的话,
.query()
返回一个空对象,该对象在执行回调之前被响应“填满”。事实上,您链接到的文档(在标题“returns”下)中有一个非常透彻的解释。不太清楚您想做什么