gpt4 book ai didi

javascript - $.get 之后的回调?

转载 作者:行者123 更新时间:2023-12-03 10:54:47 24 4
gpt4 key购买 nike

我有一个 javascript 函数 foo.我希望在 foo 完成时调用 bar。我已经尝试过将其作为回调。这是行不通的。 Bar 在 foo 仍在执行 $.get 时被调用(这在服务器上启动了一个很长的 python 例程)。

  function foo(callback){
$.get(
url="/myurl",
data={key:($(this).attr('data-button'))},
function(returndata) {
var array = eval(returndata);
drawTable(array);
});

callback();
}

foo(酒吧);

但这确实有效。我很困惑为什么......

  function foo(callback){
$.get(
url="/myurl",
data={key:($(this).attr('data-button'))},
function(returndata) {
var array = eval(returndata);
drawTable(array);
callback();
});

}

foo(酒吧);

最佳答案

这是因为$.get是异步的。来自文档...

This is a shorthand Ajax function, which is equivalent to:
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});

您可以认为它在单独的线程中运行。所以 bar() 不会充当回调。但在你的第二个示例中,“function(returndata)”是 $.get 的回调函数,因此在内部提供 bar() 将完成这项工作,因为现在 bar() 仅在 $.get 完成后才会被调用。

关于javascript - $.get 之后的回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28305688/

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