feat(async): added PromiseWrapper.wrap

This commit is contained in:
vsavkin 2015-06-26 15:58:52 -07:00
parent 71e0f89594
commit b688dee4c8
2 changed files with 14 additions and 0 deletions

View File

@ -19,6 +19,10 @@ class PromiseWrapper {
return promise.then(success, onError: onError); return promise.then(success, onError: onError);
} }
static Future wrap(Function fn) {
return new Future(fn);
}
// Note: We can't rename this method to `catch`, as this is not a valid // Note: We can't rename this method to `catch`, as this is not a valid
// method name in Dart. // method name in Dart.
static Future catchError(Future promise, Function onError) { static Future catchError(Future promise, Function onError) {

View File

@ -28,6 +28,16 @@ export class PromiseWrapper {
return promise.then(success, rejection); return promise.then(success, rejection);
} }
static wrap<T>(computation: () => T): Promise<T> {
return new Promise((res, rej) => {
try {
res(computation());
} catch (e) {
rej(e);
}
});
}
static completer() { static completer() {
var resolve; var resolve;
var reject; var reject;