文件名称:yaku:轻量级的Promise库
文件大小:119KB
文件格式:ZIP
更新时间:2024-05-22 13:54:27
lightweight promises promise es6-promise JavaScript
概述 Yaku与ES6的原生完全兼容,但速度更快,并且更易于出错。 如果您想了解Promise的工作原理,请阅读最低实现 。 没有注释,它只有80行代码(压缩后的大小为0.5KB)。 它仅实现constructor , then 。 Yaku通过了所有的 , 乃至。 我不是一个优化狂,我试图保持源代码的可读性和可维护性。 我写这个lib来研究我的数据结构思想之一: 。 特征 最好的移动设备之一,gzip压缩文件只有2.0KB 支持“未捕获的拒绝”和“长堆栈跟踪”, 可在IE5 +和其他主要浏览器上使用 100%的语句和分支测试覆盖率 比原生Promise更好的CPU和内存性能 每个Promises / A +规范中注释良好的源代码 高度模块化的额外帮助程序,对其纯ES6实施没有污染 finally支持ES7 可组合的可观察助手 快速开始 Node.js npm install
【文件预览】:
yaku-master
----.gitignore(57B)
----test()
--------forge-old-browser.js(516B)
--------testSuit.js(644B)
--------unhandledRejection.js(9KB)
--------webpack.js(204B)
--------promises-aplus-tests.js(583B)
--------basic.js(17KB)
--------lab.js(163B)
--------puppeteer.js(942B)
--------browser.html(109B)
--------test-browser.js(407B)
--------promises-es6-tests.js(802B)
--------forge-browser.js(3KB)
--------coreJsPromise.js(77B)
--------finally.js(1KB)
--------memory.js(541B)
--------utils.js(18KB)
--------getPromise.js(5KB)
--------getPromiseBrowser.js(220B)
----docs()
--------debugHelperComparison.md(3KB)
--------readme.jst.md(9KB)
--------changelog.md(3KB)
--------lazyTree.md(3KB)
----LICENSE(1KB)
----package.json(1KB)
----src()
--------isPromise.js(104B)
--------if.js(239B)
--------_.js(421B)
--------async.js(926B)
--------sleep.js(150B)
--------callbackify.js(525B)
--------retry.js(945B)
--------never.js(112B)
--------global.js(360B)
--------Deferred.js(250B)
--------yaku.core.js(22KB)
--------yaku.aplus.js(6KB)
--------all.js(1KB)
--------genIterator.js(922B)
--------yaku.js(27KB)
--------throw.js(192B)
--------any.js(576B)
--------yaku.d.ts(3KB)
--------flow.js(756B)
--------utils.js(11KB)
--------timeout.js(306B)
--------promisify.js(1KB)
--------guard.js(286B)
--------hash.js(396B)
--------Observable.js(4KB)
----readme.md(36KB)
----benchmark()
--------testCount.js(892B)
--------others()
--------index.js(2KB)
--------asyncWrapper()
----.npmignore(28B)
----.travis.yml(144B)
----nofile.js(7KB)
----webpack.config.js(891B)
----.eslintrc.json(607B)
----package-lock.json(211KB)