有没有办法从javascript中的子函数调用父函数的Return?

时间:2010-02-26 00:21:55

标签: javascript ajax return

我有一个非常特殊的情况。我想return一些数据 - 通过ajax下载的数据。迄今为止同步和同步模式无法及时获取return的数据。有可能我可以从父函数的子函数调用return,还是timeOut可以解决问题?我想不出另一种方法,但必须返回数据。

3 个答案:

答案 0 :(得分:3)

您可以提供回调函数:

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

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

答案 1 :(得分:2)

你问题的答案是否定的。

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

这是一个简单的例子:

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

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

答案 2 :(得分:-1)

只需将false作为第三个参数传递给XMLHttpRequest.open。这意味着“同步运行此查询”。

See the reference为你自己。