//如不雅then中没有传递任何器械 if(!callback.onResolved) { callback.resolve(value); return; } var ret = callback.onFulfilled(value); callback.resolve(ret); } function resolve(newValue) { if (newValue && (typeof newValue === 'object' || typeof newValue === 'function')) { var then = newValue.then; if (typeof then === 'function') { then.call(newValue, resolve); return; } } state = 'fulfilled'; value = newValue; setTimeout(function () { callbacks.forEach(function (callback) { handle(callback); }); }, 0); } fn(resolve); } 缺点冒泡是上述代码已经支撑,且异常实用的一个特点。在handle中发明没有指定异步操作掉败的回调时,会直接将bridge promise(then函数返回的promise,后同)设为rejected状况,如斯杀青履行后续掉败回调的效不雅。这有利于简化串行Promise的掉败处理成本,因为一组异步操作往往会对应一个实际功能,掉败处理办法平日是一致的:
推荐阅读
2017年上半年重大黑客事件盘点
16. 美国法律论坛71万账户泄漏,涉国度安然局、FBI等本年4月,达拉斯紧急警备孀体系被黑客入侵。导致该城市的156个紧急戒备器被激活,警笛声持续一个小时,激发市平易近惊恐。
在以前的201>>>详细阅读
本文标题:30分钟,让你彻底明白Promise原理
地址:http://www.17bianji.com/lsqh/35631.html
1/2 1