2015-02-05 21:08:05 +00:00
|
|
|
import {int} from 'angular2/src/facade/lang';
|
|
|
|
|
import {List} from 'angular2/src/facade/collection';
|
2014-10-10 19:44:56 +00:00
|
|
|
export var Promise = window.Promise;
|
2014-09-30 18:56:33 +00:00
|
|
|
|
2014-10-10 19:44:56 +00:00
|
|
|
export class PromiseWrapper {
|
|
|
|
|
static resolve(obj):Promise {
|
|
|
|
|
return Promise.resolve(obj);
|
2014-09-30 18:56:33 +00:00
|
|
|
}
|
|
|
|
|
|
2014-10-10 19:44:56 +00:00
|
|
|
static reject(obj):Promise {
|
|
|
|
|
return Promise.reject(obj);
|
2014-10-07 13:04:11 +00:00
|
|
|
}
|
|
|
|
|
|
2015-01-04 08:38:24 +00:00
|
|
|
static all(promises:List):Promise {
|
2014-10-10 19:44:56 +00:00
|
|
|
if (promises.length == 0) return Promise.resolve([]);
|
|
|
|
|
return Promise.all(promises);
|
2014-09-30 18:56:33 +00:00
|
|
|
}
|
2014-10-07 13:04:11 +00:00
|
|
|
|
2014-10-10 19:44:56 +00:00
|
|
|
static then(promise:Promise, success:Function, rejection:Function):Promise {
|
|
|
|
|
return promise.then(success, rejection);
|
2014-10-07 13:04:11 +00:00
|
|
|
}
|
2014-12-06 02:30:45 +00:00
|
|
|
|
|
|
|
|
static completer() {
|
|
|
|
|
var resolve;
|
|
|
|
|
var reject;
|
|
|
|
|
|
|
|
|
|
var p = new Promise(function(res, rej) {
|
|
|
|
|
resolve = res;
|
|
|
|
|
reject = rej;
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
promise: p,
|
|
|
|
|
complete: resolve,
|
|
|
|
|
reject: reject
|
|
|
|
|
};
|
|
|
|
|
}
|
2014-12-11 19:36:05 +00:00
|
|
|
|
2015-01-04 08:38:24 +00:00
|
|
|
static setTimeout(fn:Function, millis:int) {
|
2014-12-11 19:36:05 +00:00
|
|
|
window.setTimeout(fn, millis);
|
|
|
|
|
}
|
2015-01-04 08:38:24 +00:00
|
|
|
}
|