我们也撸了一个Promise库,与楼主共同分享相互学习下
https://github.com/ecomfe/promise测试都是过Promise/A+的一个样,unhandledRejection错误处理也有,大小上大概这样
~ coffee -c -p yaku/src/yaku.coffee | uglifyjs | gzip -c | wc -c
2064
~ cat promise/src/*.js | uglifyjs | gzip -c | wc -c
2754
我们的库加了2个功能,第一是enhance.js增加了一些便携的方法,比如thenBind、thenGetProperty。第二是setImmediate作了setImmediate函数的shim来让异步更快,去掉这2个的话
~ cat promise/src//Promise.js promise/src//PromiseCapacity.js promise/src/main.js promise/src/then.js promise/src/util.js promise/src/hook.js | uglifyjs | gzip -c | wc -c
1799
我们现在在考虑的是:
1. 这样的库与原生的Promise的关系如何处理
2. 全局错误处理应该怎么做
3. Promise的cancel/abort应该怎么做
与楼主共同学习