done 与 then 的区别
2015-09-15 14:41
169 查看
jquery里的deferred对象,有done方法,也有then方法,区别是什么呢?
看一下这面的代码,就清楚了:
输出如下:
结论是:
done 只是把监听器加到promise身上,返回的是原来的promise
then 会把监听器应用到promise的值,并且会创建新的promise
一般情况下,用then就够了
看一下这面的代码,就清楚了:
var d = $.Deferred(); var addOne = function(x) { console.log(x); return x + 1; }; var x = d.done(addOne).done(addOne).done(addOne); var y = d.then(addOne).then(addOne).then(addOne); console.log(x == d); console.log(y == d); d.resolve(1);
输出如下:
true false 1 1 1 1 2 3
结论是:
done 只是把监听器加到promise身上,返回的是原来的promise
then 会把监听器应用到promise的值,并且会创建新的promise
一般情况下,用then就够了
相关文章推荐
- 初识AS 用法
- sqlldr导入 sqluldr2导出:
- [刷题]Sort Colors
- 四层和七层负载均衡的区别
- Android源码编译整理总结
- java判断操作系统
- Win10开发究竟能实现哪些牛逼的功能
- WEB相关协议
- 函数对象,函数指针,指针函数
- jquery性能优化的十种方法
- MRC 下block 小结
- hibernate中使用fetch来决策性能方案
- 记录BVT自动化测试结果的函数WriteBVTLog
- 集合
- View的touch事件
- Android学习笔记——SAX解析XML
- 使用Wireshark实时抓包Android
- mysql 更改引擎
- Android Studio -使用 Gradle 打包多版本APK
- BZOJ 2502 清理雪道 最小流