Skip to content

Commit 31ebb53

Browse files
committed
1 parent d888469 commit 31ebb53

1 file changed

Lines changed: 14 additions & 4 deletions

File tree

src/vs/base/common/async.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,21 @@ export function asWinJsPromise<T>(callback: (token: CancellationToken) => T | TP
2929
return new TPromise<T>((resolve, reject, progress) => {
3030
let item = callback(source.token);
3131
if (item instanceof TPromise) {
32-
always(item, () => source.dispose());
33-
item.then(resolve, reject, progress);
32+
item.then(result => {
33+
source.dispose();
34+
resolve(result);
35+
}, err => {
36+
source.dispose();
37+
reject(err);
38+
}, progress);
3439
} else if (isThenable<T>(item)) {
35-
always(item, () => source.dispose());
36-
item.then(resolve, reject);
40+
item.then(result => {
41+
source.dispose();
42+
resolve(result);
43+
}, err => {
44+
source.dispose();
45+
reject(err);
46+
});
3747
} else {
3848
source.dispose();
3949
resolve(item);

0 commit comments

Comments
 (0)