我有一个非常奇怪的案例.我想返回一些数据 – 通过ajax下载的数据.迄今为止同步和同步模式无法及时获得返回的数据.是否有可能我可以从父函数的子函数调用return,还是timeOut可以解决问题?我想不出另一种方法,但必须返回数据.
最佳答案
你的问题的答案是否定的.
原文链接:https://www.f2er.com/js/429353.html在异步请求中,函数必须在结果可用之前返回.为了解决这个问题,使用了一个回调模式 – 当调用这样一个函数时,你不期望返回,而是为它提供一个回调 – 一个结果可用后调用的函数.
这是一个简单的例子:
var someValue;
fetchValueFrom('http://example.com/some/url/with/value',function(val) {
someValue = val;
doSomethingElseWith(someValue);
});
在这里,我们创建一个函数,并将其作为第二个参数传递给fetchValueFrom调用.一旦值可用,将调用此函数,并将设置变量并调用另一个函数以继续执行.