在jQuery中,.state()如何确定一个承诺是挂起的、已解决的还是被拒绝的
In jQuery, how does .state() determine whether a promise is pending, resolved or rejected
我不明白是什么决定了承诺对象的状态。是什么导致对象或函数的状态为"挂起",而 $(".selector"( 的状态为"已解决"。
代码如下:
var obj = { prop: "value" };
var deferred = new $.Deferred();
var promiseObj1 = deferred.promise(obj);
var promiseObj2 = $(".selector").promise();
console.log(promiseObj1.state()); // "pending"
console.log(promiseObj2.state()); // "resolved"
默认情况下,承诺在创建时处于挂起状态。当创建承诺的延迟对象解析/拒绝承诺时,承诺的状态会发生变化。
var obj = { prop: "value" };
var deferred = new $.Deferred();
var promiseObj1 = deferred.promise(obj);
var promiseObj2 = $(".selector").promise();
console.log(promiseObj1.state()); // "pending"
console.log(promiseObj2.state()); // "resolved"
在promiseObj1
的情况下,您正在创建一个承诺,但创建它的延迟对象既没有被拒绝/解决,这是挂起状态的原因
在 promiseObj2
的情况下(这是一个承诺,当匹配元素的 fx 队列中排队的所有操作都完成时,它将解决(,因为默认情况下没有正在进行的动画,因此被视为已解决。
演示:小提琴
相关文章:
- JavaScript执行暂时挂起页面
- 是定义的操作系统睡眠/挂起期间setTimeout的行为
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- fullcalendar在删除导致浏览器挂起的多个事件时速度较慢
- 应用将图表转换为图像的jqplot代码时Chrome挂起
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序
- MongoDB collection.find()查询挂起
- 使用子字符串方法时应用程序挂起的原因
- 如何在AngularJS中取消挂起的请求
- 从node.js应用程序调用Mongoose Model.save()时挂起
- Chrome,Safari在从本地存储读取时挂起,而Firefox很好
- IE 10 挂起 XMLHttpRequest 6 分钟,然后响应请求(使用 AngularJS 实现 CRSF)
- 挂起 JavaScript 键关闭事件
- HERE 映射 JS API v3 集群提供程序挂起,添加许多数据点
- Ajax 调用挂起在 jQuery 中
- writeln img src将数据提交到外部系统-Firefox和IE挂起
- 在jQuery中,.state()如何确定一个承诺是挂起的、已解决的还是被拒绝的
- 为什么JavaScript中没有挂起回调函数
- 如何解决量角器测试无限期挂起的问题?
- 当我重复图像 10000 次时页面挂起.需要任何替代的jQuery或JavaScript解决方案