在javascript中,有没有一种方法可以从子函数调用父函数的返回?

在javascript中,有没有一种方法可以从子函数调用父函数的返回?,javascript,ajax,return,Javascript,Ajax,Return,我有一个非常奇怪的病例。我想返回一些数据-通过ajax下载的数据。到目前为止,异步和同步模式无法及时将数据获取到返回。是否可以从父函数的子函数调用return,或者超时可以解决此问题?我想不出另一种方法,但必须返回数据。只需将false作为第三个参数传递到XMLHttpRequest.open。它的意思是“同步运行此查询” 为您自己。您可以提供一个回调函数: function parentfunction(callback) { callback(getAjax()); } funct

我有一个非常奇怪的病例。我想
返回一些数据-通过ajax下载的数据。到目前为止,异步和同步模式无法及时将数据获取到
返回
。是否可以从父函数的子函数调用
return
,或者超时可以解决此问题?我想不出另一种方法,但必须返回数据。

只需将
false
作为第三个参数传递到
XMLHttpRequest.open
。它的意思是“同步运行此查询”


为您自己。

您可以提供一个回调函数:

function parentfunction(callback) {
    callback(getAjax());
}

function childfunction() {
    parentfunction(function(ajaxData) {
        //Do stuff with data
    });
}

你的问题的答案是否定的

在异步请求中,函数必须在结果可用之前返回。为了解决这个问题,我们使用了回调模式——在调用这样的函数时,您不希望返回,而是为它提供一个回调——一个在结果可用时调用的函数

下面是一个简单的例子:

var someValue;
fetchValueFrom('http://example.com/some/url/with/value', function(val) { 
  someValue = val; 
  doSomethingElseWith(someValue);
});

这里我们创建一个函数,并将其作为第二个参数传递给
fetchValueFrom
调用。一旦该值可用,将调用该函数,并设置变量并调用另一个函数以继续执行。

return不是函数!虽然引发异常可能会满足您的需要?是否有某种方式可以让异常像
return
一样返回数组?也许在函数中告诉您正在使用jQuery是合适的?如果
$,可能会重复我的想法。ajaxSetup({async:false})
对我有用,它可以解决我所有的问题,但我的代码似乎忽略了它?“从Gecko 30.0(Firefox 30.0/Thunderbird 30.0/SeaMonkey 2.27)开始,由于对用户体验的负面影响,主线程上的同步请求已被弃用。”