如何使用另一个的解析状态来解析一个延迟对象。 请简单的例子和简单的解释(看到了很多困难的)。
我如何使用 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/