gpt4 book ai didi

javascript - jQuery promise .done() 立即触发,不等待服务器返回

转载 作者:行者123 更新时间:2023-11-30 10:18:27 25 4
gpt4 key购买 nike

我正在尝试使用从我的 $.post() 函数返回的 promise 的 .done() 事件。它调用的服务器端函数需要五秒钟才能返回。问题是 .done() 事件立即触发,就好像它已经完成了一样。请参阅下面的代码。如果我定义一个与 .post() 调用内联的成功函数,它可以正常工作,只是 promise 对象上的 .done() 事件会立即发生。知道我错过了什么吗?

    $(document).ready(function () {

$("img.spinner").hide();

var hideSpinner = function (img) {
$(img).hide();
}

$("button.Update").click(function () {

var img = $(this).siblings("img.spinner").show();

var promise = $.post('/MyFunc/Func',
function(){
$(img).hide();
}
);

promise.done(hideSpinner(img));

});


})

最佳答案

那是因为 hideSpinner(img) 调用了 hideSpinner 函数。它是一个函数调用,而不是对函数的引用。试试这个:

promise.done(function () {
hideSpinner(img)
});

关于javascript - jQuery promise .done() 立即触发,不等待服务器返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22599034/

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