gpt4 book ai didi

javascript - 来自异步调用示例的返回响应

转载 作者:行者123 更新时间:2023-11-30 07:08:19 25 4
gpt4 key购买 nike

我已经多次阅读这篇 stackoverflow 帖子 How do I return the response from an asynchronous call? .出于某种原因,我就是不明白。有人可以在此处发布问题中的示例作为实际的完整工作解决方案,而不是帖子的“2. 重组代码”部分中提供的分步指导,我发现这非常令人困惑。

function foo() {
var result;

$.ajax({
url: '...',
success: function(response) {
result = response;
// return response; // <- tried that one as well
}
});

return result;
}

var result = foo(); // always ends up being `undefined`.

最佳答案

success 函数是一个回调,这意味着它可以随时调用。在这种情况下,它在 ajax 调用之后 被调用,返回结果; 在 ajax 调用之前被调用,意思是 result 在返回之前没有被赋值,这就是为什么它总是未定义的原因。

我喜欢解决这个问题的一种方法是将我自己的回调传递给 foo 函数,然后在我收到数据时调用它,如下所示:

function foo(callback) {
$.ajax({
url: '...',
success: function(response) {
callback(response) // <-- call it here
}
});
}

foo(function(data){
// use your data here
});

关于javascript - 来自异步调用示例的返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30224774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com