-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
26 lines (22 loc) · 674 Bytes
/
Copy pathindex.js
File metadata and controls
26 lines (22 loc) · 674 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* see original source on https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Promise.jsm/Deferred
*/
function Deferred() {
if (typeof(Promise) != 'undefined' && Promise.defer) {
return Promise.defer();
} else if (typeof(PromiseUtils) != 'undefined' && PromiseUtils.defer) {
return PromiseUtils.defer();
} else {
if (!(this instanceof Deferred)) {
return new Deferred();
}
this.resolve = null;
this.reject = null;
this.promise = new Promise(function(resolve, reject) {
this.resolve = resolve;
this.reject = reject;
}.bind(this));
Object.freeze(this);
}
}
module.exports = Deferred;