Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
29 lines
636 B
JavaScript
Executable file
29 lines
636 B
JavaScript
Executable file
/**
|
|
* Defer is a factory that would create a wrapped Promise object with exposed
|
|
* resolve / reject API so that we can easily resolve / reject promise from
|
|
* outside.
|
|
*
|
|
* This is mostly useful when you are going to queue promises for later use.
|
|
*
|
|
* API:
|
|
*
|
|
* var defer = Defer();
|
|
* defer.resolve('return value');
|
|
* defer.reject('reason')
|
|
*
|
|
* @module Defer
|
|
*/
|
|
define(function(require) {
|
|
'use strict';
|
|
|
|
var Defer = function() {
|
|
this.promise = new Promise((resolve, reject) => {
|
|
this.resolve = resolve;
|
|
this.reject = reject;
|
|
});
|
|
};
|
|
|
|
return function ctor_defer() {
|
|
return new Defer();
|
|
};
|
|
});
|