angular2
Version:
Angular 2 - a web framework for modern web apps
44 lines • 1.51 kB
JavaScript
// Promises are put into their own facade file so that they can be used without
// introducing a dependency on rxjs. They are re-exported through facade/async.
export { Promise };
export class PromiseWrapper {
static resolve(obj) { return Promise.resolve(obj); }
static reject(obj, _) { return Promise.reject(obj); }
// Note: We can't rename this method into `catch`, as this is not a valid
// method name in Dart.
static catchError(promise, onError) {
return promise.catch(onError);
}
static all(promises) {
if (promises.length == 0)
return Promise.resolve([]);
return Promise.all(promises);
}
static then(promise, success, rejection) {
return promise.then(success, rejection);
}
static wrap(computation) {
return new Promise((res, rej) => {
try {
res(computation());
}
catch (e) {
rej(e);
}
});
}
static scheduleMicrotask(computation) {
PromiseWrapper.then(PromiseWrapper.resolve(null), computation, (_) => { });
}
static isPromise(obj) { return obj instanceof Promise; }
static completer() {
var resolve;
var reject;
var p = new Promise(function (res, rej) {
resolve = res;
reject = rej;
});
return { promise: p, resolve: resolve, reject: reject };
}
}
//# sourceMappingURL=promise.js.map