snappymail/dev/Promises/AbstractBasic.js

46 lines
736 B
JavaScript
Raw Normal View History

2016-06-30 08:02:45 +08:00
var
_ = require('_'),
Promise = require('Promise'),
Utils = require('Common/Utils');
/**
* @constructor
*/
function AbstractBasicPromises()
{
this.oPromisesStack = {};
}
AbstractBasicPromises.prototype.func = function(fFunc)
{
fFunc();
return this;
};
AbstractBasicPromises.prototype.fastResolve = function(mData)
{
return Promise.resolve(mData);
};
AbstractBasicPromises.prototype.fastReject = function(mData)
{
return Promise.reject(mData);
};
AbstractBasicPromises.prototype.setTrigger = function(mTrigger, bValue)
{
if (mTrigger)
{
2016-06-30 08:02:45 +08:00
_.each(Utils.isArray(mTrigger) ? mTrigger : [mTrigger], function(fTrigger) {
if (fTrigger)
{
fTrigger(!!bValue);
}
});
}
2016-06-30 08:02:45 +08:00
};
2016-06-30 08:02:45 +08:00
module.exports = AbstractBasicPromises;