snappymail/dev/Promises/AbstractBasic.js
2015-03-17 18:30:17 +04:00

56 lines
No EOL
910 B
JavaScript

(function () {
'use strict';
var
_ = require('_'),
Q = require('Q'),
Utils = require('Common/Utils')
;
/**
* @constructor
*/
function AbstractBasicPromises()
{
this.oPromisesStack = {};
}
AbstractBasicPromises.prototype.func = function (fFunc)
{
fFunc();
return this;
};
AbstractBasicPromises.prototype.fastResolve = function (mData)
{
var oDeferred = Q.defer();
oDeferred.resolve(mData);
return oDeferred.promise;
};
AbstractBasicPromises.prototype.fastReject = function (mData)
{
var oDeferred = Q.defer();
oDeferred.reject(mData);
return oDeferred.promise;
};
AbstractBasicPromises.prototype.setTrigger = function (mTrigger, bValue)
{
if (mTrigger)
{
_.each(Utils.isArray(mTrigger) ? mTrigger : [mTrigger], function (fTrigger) {
if (fTrigger)
{
fTrigger(!!bValue);
}
});
}
};
module.exports = AbstractBasicPromises;
}());