gpt4 book ai didi

javascript - 用另一个延迟对象解析jquery延迟对象

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

如何使用另一个的解析状态来解析一个延迟对象。请简单的例子和​​简单的解释(看到了很多困难的)。

我如何使用 foo() 解决 result promise ,而不需要 .done(..).fail( ..)?

var result = $.Deferred();

/**
* @returns {Deferred}
*/
var foo = function() {
// ... something that returns deferred object at random moment of time
};

foo()
.done(function(){result.resolve()})
.fail(function(){result.reject()})
;

setTimeout(function() {
result.reject();
}, 50);

setTimeout(function(){
console.log('Result is:', result.state());
}, 100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

最佳答案

您可以使用传入的函数 $.Deferred并从内部解决/拒绝延迟:

var result = $.Deferred(function() {
Math.random() > 0.5 ? this.resolve() : this.reject();
});

setTimeout(function(){
document.write('Result is: ' + result.state());
}, 100);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

关于javascript - 用另一个延迟对象解析jquery延迟对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30078403/

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