wecui
Version:
一款基于Vue2.x版本的移动端web组件
38 lines (26 loc) • 1.43 kB
Markdown
## Any Promise
[](http://travis-ci.org/kevinbeaty/any-promise)
Let your library support any ES6 compatible Promise library or polyfill and leave the choice to the end user. The end user can install a polyfill or `npm install` their preference before using this library and the installed library will be automatically detected.
Attempts to load libraries in the following order. The first successful `require` will be exported.
- [es6-promise](https://github.com/jakearchibald/es6-promise)
- [promise](https://github.com/then/promise)
- [native-promise-only](https://github.com/getify/native-promise-only)
- [bluebird](https://github.com/petkaantonov/bluebird)
- [rsvp](https://github.com/tildeio/rsvp.js)
- [when](https://github.com/cujojs/when)
- [q](https://github.com/kriskowal/q)
If no library is installed, attempts to export the global `Promise` (native or polyfill). The `browserify` version will always export the the global `Promise`, so polyfill as necessary.
If you have multiple libraries installed (e.g. for testing), and would like to specify one you can use the `PROMISE_IMPL` env variable.
```javascript
var Promise = require('any-promise');
return Promise
.all([xf, f, init, coll])
.then(fn);
return new Promise(function(resolve, reject){
try {
resolve(item);
} catch(e){
reject(e);
}
});
```