{"_id":"@searchfe/promise","_rev":"31-dca511976cfb5340fca007175031de87","name":"@searchfe/promise","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.1":{"name":"@searchfe/promise","version":"1.0.1","author":{"name":"harttle","email":"yangjvn@126.com"},"license":"MIT","_id":"@searchfe/promise@1.0.1","maintainers":[{"name":"harttle","email":"yangjvn@126.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"b0cf85a04952a2c7041abc204cfdced59650d054","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.1.tgz","integrity":"sha512-rjZQ6mZBjRz8thvBDKADAl1d10wmaySZXPF/tzyS3ScT2g4YdkVIjihBhsOywBqV4PT4fvwHlEqzqyJpByErbg==","signatures":[{"sig":"MEQCIGSz//z2b+9tbnkoI+OaC3WvSmMwF+F0pRT88gvFO5dJAiAUSNSELFFq134d/ixj+ncortlQrLmAe2YYQsXXK32xzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/promise.js","_from":".","_shasum":"b0cf85a04952a2c7041abc204cfdced59650d054","gitHead":"4363b972a40c1988e4a7b56c418e049f5db5f24d","scripts":{"lint":"fecs check src, *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"3.10.8","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"6.9.2","amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","fecs":"^1.4.1","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","karma-html-reporter":"^0.2.7","karma-mocha-reporter":"^2.0.4","karma-chrome-launcher":"^2.2.0","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise-1.0.1.tgz_1504607969289_0.37419962720014155","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@searchfe/promise","version":"1.0.2","author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","_id":"@searchfe/promise@1.0.2","maintainers":[{"name":"harttle","email":"yangjvn@126.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"15b505a8fef80be0c4f8b3b6950c52f9ed0f4042","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.2.tgz","integrity":"sha512-4NxHBupA5y+CDi3NTRo8K0Pe/Fq6krd2hjcsIXbXbsPjl8WEP819bniCc9wjtzn5R/NBpOgYsW/RvvCC5LP/UQ==","signatures":[{"sig":"MEYCIQDTXFa0QQCGM1bTtWF5PsI9cgkX3kC8bPOffVQN+XJe4QIhANUWo8wTEPNrxd4XFUwnnT59D/jGcPSRILWzNn2oqhrD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/promise.js","gitHead":"47c0c902cf4694a7c66beaf6c370ff6f9aabd39d","scripts":{"ci":"karma start --reporters mocha,coverage,coveralls","lint":"fecs check src *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"5.4.0","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"8.5.0","amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","fecs":"^1.4.1","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","karma-html-reporter":"^0.2.7","karma-mocha-reporter":"^2.0.4","karma-chrome-launcher":"^2.2.0","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise-1.0.2.tgz_1507706714152_0.2652070422191173","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"@searchfe/promise","version":"1.0.3","author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","_id":"@searchfe/promise@1.0.3","maintainers":[{"name":"harttle","email":"yangjvn@126.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"dee6321c8cee5c3b241de9a0c006aac21763be4e","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.3.tgz","integrity":"sha512-BuAjgs8AW1A3dvvUfaXx46rhpLWiOF/2FPL/S51Mw+Z4bV/WczfxX+LF61VD3MOSpjkhDSsAwqQ7jTxuulr0Tg==","signatures":[{"sig":"MEUCIHzTNURgp/cA9Lb6kPnG3dt1/sCnvCufdC1K9D+i9KhQAiEAlAL6d9Tv6httrqF4GD/c8+ASgIvvktz2HfeJV9QeZSg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"src/promise.js","gitHead":"3732262a40116381bb376b2e4a40997587f9bcd8","scripts":{"ci":"karma start --reporters mocha,coverage,coveralls","lint":"eslint src test *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"5.3.0","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"8.5.0","dependencies":{"eslint-plugin-node":"^5.2.0"},"amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","eslint":"^3.19.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","eslint-plugin-mocha":"^4.9.0","karma-html-reporter":"^0.2.7","eslint-plugin-import":"^2.7.0","karma-mocha-reporter":"^2.0.4","eslint-plugin-promise":"^3.5.0","karma-chrome-launcher":"^2.2.0","eslint-config-standard":"^10.2.1","eslint-plugin-standard":"^3.0.1","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise-1.0.3.tgz_1507722006791_0.23188703367486596","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"@searchfe/promise","version":"1.0.4","author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","_id":"@searchfe/promise@1.0.4","maintainers":[{"name":"harttle","email":"yangjvn@126.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"be5e7a46bbf24caf366113a0be2171d688f4a054","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.4.tgz","fileCount":12,"integrity":"sha512-zhIT6Rr3kM5N02KVuInbhsjtFPy9/Ca4eq0aeGlmkLXySjUW5sZyCOaYO+Sc8cEW2bYA+m+uEIJHqrW701Crog==","signatures":[{"sig":"MEUCIDSojRXxXAhR/QbO9oHx41qiqjMhg1Ls3QhtXOhZxPo8AiEAkDH1/7R7P5UxXWy/a2YRX0AHmcpCNr41hp+0ek+6avQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37169},"main":"src/promise.js","gitHead":"d6a91508e8bfb6448168a17586957b988f060948","scripts":{"ci":"karma start --reporters mocha,coverage,coveralls","lint":"eslint src test *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"5.6.0","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"8.5.0","dependencies":{"eslint-plugin-node":"^5.2.0"},"_hasShrinkwrap":false,"amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","eslint":"^3.19.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","eslint-plugin-mocha":"^4.9.0","karma-html-reporter":"^0.2.7","eslint-plugin-import":"^2.7.0","karma-mocha-reporter":"^2.0.4","eslint-plugin-promise":"^3.5.0","karma-chrome-launcher":"^2.2.0","eslint-config-standard":"^10.2.1","eslint-plugin-standard":"^3.0.1","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise_1.0.4_1521635924257_0.09449500271321565","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"@searchfe/promise","version":"1.0.5","author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","_id":"@searchfe/promise@1.0.5","maintainers":[{"name":"harttle","email":"yangjvn@126.com"},{"name":"pearl_wang","email":"610999886@qq.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"bb0e6371e814996d4f116a09731c6b4fd10aa708","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.5.tgz","fileCount":12,"integrity":"sha512-AZu5J2LMC5PlKt+vmK9fbGfrjRklcVRg0iqWqS/qkdC7X9g4gLbPDpk+taocUNtXnUjUBO1vv0rZLXOE0Dt9tw==","signatures":[{"sig":"MEQCIGwiDAGZnv0RC6z/0bxq5kA2Jvtdol7RxD85DmP9MS8zAiAS0Rnzd50izSUIoZL6Vcv4ZrtkatpB6y6hAJOEpZ9HAw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37779},"main":"src/promise.js","gitHead":"590bc03836eab369545f6e3207af3fc80ef49c8c","scripts":{"ci":"karma start --reporters mocha,coverage,coveralls","lint":"eslint src test *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"5.7.1","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"8.5.0","dependencies":{"eslint-plugin-node":"^5.2.0"},"_hasShrinkwrap":false,"amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","eslint":"^3.19.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","eslint-plugin-mocha":"^4.9.0","karma-html-reporter":"^0.2.7","eslint-plugin-import":"^2.7.0","karma-mocha-reporter":"^2.0.4","eslint-plugin-promise":"^3.5.0","karma-chrome-launcher":"^2.2.0","eslint-config-standard":"^10.2.1","eslint-plugin-standard":"^3.0.1","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise_1.0.5_1523242497599_0.8926396053445258","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"@searchfe/promise","version":"1.0.6","author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","_id":"@searchfe/promise@1.0.6","maintainers":[{"name":"harttle","email":"yangjvn@126.com"},{"name":"pearl_wang","email":"610999886@qq.com"}],"homepage":"https://github.com/searchfe/promise#readme","bugs":{"url":"https://github.com/searchfe/promise/issues"},"dist":{"shasum":"7ba87b323028e7288a139d91f9e31a991cc2eaf2","tarball":"https://registry.npmjs.org/@searchfe/promise/-/promise-1.0.6.tgz","fileCount":12,"integrity":"sha512-HAds3MkVMIVS9uMcT6wqOQitUePBQvB0dupcT2gbydrJBIDEl9LSpiXghqOmkjzSbFhcwxtF45r6IqlTUFhSRw==","signatures":[{"sig":"MEUCIQDTFvDS6ELKAoDd6pwNTXAiE1IYAkyOl/fVvX5vkF3ZkQIgM/9Ebz/Jl6GrYKVF8tFVGLQWyw5bJnBzQ3dCjuj4KK0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38083,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJa78VECRA9TVsSAnZWagAAs6gP/ibP3jDEUHXa+uXHfXcY\nk01PAdp6jYY9T++RxgEsMLrYhBp8TeEM4K+ooIxnqizqEKBmcbu4YgQRgkdP\na2lpxWAA0NM4poMMSWHB0LEXzOIvDBiw1c4k3vlQXW9a/WOGD/onB3m4SS/h\ngCn2ImSq3daHaJ4hjNBLJdPtDXyo1JjmlnzStGmRZZ1U+DVpo7I5DP9Kwtrg\nGaIWtDNulmrD0V8yhvZ3ZpsHPPVLn0w9rSlMXtbFEpLJ+EEFP8i5S8pThYve\nn3xAs6AH2YdslbbaJQJXya1s+SeZ0CSzuYC1tUDRj2rF9k14/aUt93SBDGML\n6B3/g1TobqpDRAl/KNG/wND0LAJ3qNGGLVr4NbDjHGqHiN29P6QbUUa750pf\nc00WUHcCpUjOP64wC18Gl8m5twIGrAv2zBMYbNbSX5gaNRXlX7f8TX0bqIFe\n+DtQgzBBKkQdGuU/5c7mYuoKZvmjnENLzV5GXX85lX/XtkhGieuWoJSy/Bnw\naHOJ4DMStPUYWhbzfnjtoEkS4h/mauiMHR1WAiLIiqEw4o7Q1gaixZuGKR5v\nx4462tHDHT+eHTpiYhbo6HRpqh4Esq/1pA1Jpx1GiPTSvsY3Oh/D//tpTA2W\nk7IlR+l1y5QKj8SQdfkUiNx9DnDqJLoc7GZpy1HuawKTscAhd4ZWf5CfhNw/\nL03U\r\n=Pgso\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/promise.js","gitHead":"05f960273143b9075fb3d4429f318a6af5cf4ce5","scripts":{"ci":"karma start --reporters mocha,coverage,coveralls","lint":"eslint src test *.js","test":"karma start","preversion":"npm run lint && npm test","postversion":"git push && git push --tags"},"_npmUser":{"name":"harttle","email":"yangjvn@126.com"},"repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"_npmVersion":"5.7.1","description":"A lightweight promise implementation for the frontend","directories":{},"_nodeVersion":"8.5.0","dependencies":{"eslint-plugin-node":"^5.2.0"},"_hasShrinkwrap":false,"amdDependencies":{"@searchfe/assert":"^1.0.0"},"devDependencies":{"chai":"^3.5.0","karma":"^1.5.0","mocha":"^3.2.0","sinon":"^2.1.0","eslint":"^3.19.0","requirejs":"^2.3.5","karma-chai":"^0.1.0","sinon-chai":"^2.8.0","karma-mocha":"^1.1.1","karma-coverage":"^1.1.1","karma-coveralls":"^1.1.2","karma-requirejs":"^1.1.0","chai-as-promised":"^5.3.0","karma-chai-sinon":"^0.1.5","eslint-plugin-mocha":"^4.9.0","karma-html-reporter":"^0.2.7","eslint-plugin-import":"^2.7.0","karma-mocha-reporter":"^2.0.4","eslint-plugin-promise":"^3.5.0","karma-chrome-launcher":"^2.2.0","eslint-config-standard":"^10.2.1","eslint-plugin-standard":"^3.0.1","karma-chai-as-promised":"^0.1.2"},"_npmOperationalInternal":{"tmp":"tmp/promise_1.0.6_1525663043786_0.27167925848969654","host":"s3://npm-registry-packages"}}},"time":{"created":"2017-09-05T10:39:29.390Z","modified":"2026-02-09T09:38:35.036Z","1.0.1":"2017-09-05T10:39:29.390Z","1.0.2":"2017-10-11T07:25:14.268Z","1.0.3":"2017-10-11T11:40:06.935Z","1.0.4":"2018-03-21T12:38:44.314Z","1.0.5":"2018-04-09T02:54:57.810Z","1.0.6":"2018-05-07T03:17:23.853Z"},"bugs":{"url":"https://github.com/searchfe/promise/issues"},"author":{"name":"harttle","email":"harttle@harttle.com"},"license":"MIT","homepage":"https://github.com/searchfe/promise#readme","repository":{"url":"git+https://github.com/searchfe/promise.git","type":"git"},"description":"A lightweight promise implementation for the frontend","maintainers":[{"email":"610999886@qq.com","name":"pearl_wang"},{"email":"yangjvn@126.com","name":"harttle"},{"email":"jaycezhang9602@outlook.com","name":"jaycezhang"},{"email":"116353860@qq.com","name":"qiansc"},{"email":"liujing37@baidu.com","name":"ashley_l"},{"email":"jennyliang@w3.org","name":"jennyliang220"},{"email":"chaiyanchen@baidu.com","name":"cheer4chai"},{"email":"yuanxueran@gmail.com","name":"yuanxueran"},{"email":"biyingshuai@gmail.com","name":"biyingshuai"},{"email":"wclimb_1023@163.com","name":"wclimb"},{"email":"lhysx.ok@163.com","name":"lhyhappy365"},{"email":"lihuanyu01@baidu.com","name":"lihuanyu01"},{"email":"412753988@qq.com","name":"johnny126"},{"email":"justfly90@163.com","name":"justfly90"},{"email":"zhangmeng889@sina.com","name":"zhangmeng_summer"},{"email":"changying01@baidu.com","name":"changying01"},{"email":"kaivean@outlook.com","name":"kaivean"},{"email":"lvyongjian@baidu.com","name":"lvyongjian"},{"email":"jiajiutai@outlook.com","name":"jiajiutai"},{"email":"yu_feng04@qq.com","name":"yu_feng04"}],"readme":"# promise\n\n[![Build Status](https://travis-ci.org/searchfe/promise.svg?branch=master)](https://travis-ci.org/searchfe/promise)\n[![Coverage Status](https://coveralls.io/repos/github/searchfe/promise/badge.svg?branch=master)](https://coveralls.io/github/searchfe/promise?branch=master)\n\n一个简易的、移动端专用的 Promise。\n\n> Promise/A+ spec. see: https://promisesaplus.com/\n\n## 使用方式\n\n使用 [APM][apmjs] 安装：\n\n```bash\napmjs install @searchfe/promise\n```\n\nRequireJS 示例使用：\n\n```javascript\nrequire.config({\n    baseUrl: \"/amd_modules\"\n})\nrequire(['@searchfe/promise'], function(Promise){\n    Promise.resolve('hello').then(console.log)\n})\n```\n\n## API\n\n在 Promises/A+ 的基础上新增了若干 [bluebird][bluebird] 风格的 API。现有 API 如下：\n\n* `#then()`\n* `#catch()`\n* `#finally()`\n* `.resolve()`\n* `.reject()`\n* `.all()`\n* `.fromCallback()`\n* `.mapSeries()`\n\n## 实现细节\n\n### unhandledrejection\n\n按照 V8 的 Promise 实现，未捕获的 Promise 异常会触发一个名为 `unhandledrejection` 的 `PromiseRejectionEvent`。该 Promise 实现中，也会尝试触发这个事件。\n\n### nextTick\n\n由于浏览器端没有 `nextTick` API，清空调用栈是借由其他机制实现的。\n这些机制的 Fallback 顺序如下（序号越小优先级越高）：\n\n1. `setImmediate` (W3C 标准)\n2. `MessageChannel.postMessage`（支持 Worker 的浏览器）\n3. `window.postMessage`（非 IE8）\n4. `setTimeout`（IE 8 及以下）\n\n## 使用范围\n\n* 移动端专用：使用了移动端支持良好的 ES5 特性，IE 中使用可能会有问题\n* AMD 环境：目前只支持 [AMD][amd] 环境\n\n[amd]: http://requirejs.org/docs/whyamd.html\n[bluebird]: http://bluebirdjs.com/docs/getting-started.html\n[apmjs]: https://github.com/apmjs/apmjs\n","readmeFilename":"README.md"}