gpt4 book ai didi

Jquery Promise 以及何时不使用 Ajax

转载 作者:行者123 更新时间:2023-12-01 04:42:01 25 4
gpt4 key购买 nike

我正在绞尽脑汁试图弄清楚如何正确使用它。大多数示例都使用 ajax,所以这可能是不可能的。

在我的示例中,我创建了一个函数,该函数淡出一个元素。我意识到 .fadeOut 可以有回调,但我想避免这种情况,只是为了学习目的。

我读到我需要返回一个 promise ,否则 $.when().done() 会立即触发。即使我附加了一个 promise ,它仍然会立即触发。

这是我的简单代码

function hide() {
return $("#element").fadeOut(250).promise();
}

$.when( hide() ).done(function(){
alert("Hidden");
});

是否有某些方法不能与 $.when() 一起使用,例如 .fadeOut()

任何有助于理解的帮助都会很棒。

最佳答案

您应该重新安排 .done() 的位置。在https://jsfiddle.net/6mLshe77/7/ hide() 函数立即被调用,无需等待 $.when( hide() ).done(function(){alert("Hidden) 处的 click 事件");})

var div = $("<div/>").attr({
id: "element"
});

$("button").on("click", function() {
$("#wrapper").append(div);
hide().done(function() {
alert("Hidden");
});
})

function hide() {
return $("#element").fadeOut(1000).promise();
}
div {
width: 100px;
height: 100px;
border: 1px solid black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div id="wrapper"></div>

<button>
Click Me
</button>

jsfiddle https://jsfiddle.net/6mLshe77/9/

关于Jquery Promise 以及何时不使用 Ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35664696/

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