使用链式操作也没有问题 。
来源:4-14 jquery-deferred - 应用-3
慕无忌6890528
2019-05-24
// waitHandle 是进行了一个封装的功能 。
function waitHandle() {
// 创建一个 deferred 对象 。
// 初始化 $.deferred() 这么一个实例 。
var def = $.Deferred();
var wait2 = function(dtd) { // 要求传入一个 deferred 对象 。
var tast2 = function() {
console.log('jQuery Deferred 的使用: 执行完成 -- b1');
// dtd.resolve() // 表示异步任务执行已经完成 。
dtd.reject() // 表示异步任务执行失败或出错 。
console.log('tast2 dtd (操作前) : ', dtd);
}
console.log('wait2 dtd (操作后): ', dtd)
setTimeout(tast2, 1100);
return dtd // 要求返回 deferred 对象 。
}
// 注意: 这里一定要有返回值 。
return wait2(def)
}
// 还有 w.done w.fail
var w = waitHandle();
w.then(function() {
console.log('成功 jQuery Deferred 的使用: 执行完成 -- b2')
}, function() {
console.log('失败 jQuery Deferred 的使用: 执行完成 -- b2')
}).then(function() {
console.log('成功 jQuery Deferred 的使用: 执行完成 -- b3')
}, function() {
console.log('失败 jQuery Deferred 的使用: 执行完成 -- b3')
}).then(function() {
console.log('成功 jQuery Deferred 的使用: 执行完成 -- b4')
}, function() {
console.log('失败 jQuery Deferred 的使用: 执行完成 -- b4')
})
这里链式执行打印的结果和老师说的方法结果一样, 我使用的 JQ 是 2.0.0.0 版本 。
打印结果为:
jQuery Deferred 的使用: 执行完成 -- b1
失败 jQuery Deferred 的使用: 执行完成 -- b2
失败 jQuery Deferred 的使用: 执行完成 -- b3
失败 jQuery Deferred 的使用: 执行完成 -- b4
1回答
-
双越
2019-05-24
建议把代码格式化一下,提问区的编辑器支持插入代码功能。
你具体遇到了什么问题,预期是怎样,结果又是怎样?
00
相似问题