it('should return a resolved Deferred with `syncModeEnabled` switch on if given a non-promise value', function () { var value = {}; var promise = Deferred.when(value); expect(Deferred.isPromise(promise)).toBe(true); var resolvedValue = null; promise.then(function (x) { resolvedValue = x; }); expect(resolvedValue).toBe(value); });
describe('`Deferred.isPromise` method', function() { var def = new Deferred(); Deferred.isPromise(def); it('def should be a promise object', function() { expect(Deferred.isPromise(def)).toBeTruthy(); expect(Deferred.isPromise({})).toBeFalsy(); }); });
.then(function(data) { function processError (ex) { var error = { success: false, name: '$prepare', options: {}, error: ex }; throw error; } me.fill(adaptData(data)); var preparing = me.prepare(); if (Deferred.isPromise(preparing)) { return preparing.fail(processError); } else { return preparing; } });
/** * 销毁控件上关联的Action * * @param {ActionPanel} panel 控件实例 * @inner */ function disposeAction(panel) { var Deferred = require('er/Deferred'); var action = panel.action; if (!action) { return; } // Action正在加载,正确的`renderChildAction`得到的加载器有`abort`方法 if (Deferred.isPromise(action) && typeof action.abort === 'function' ) { action.abort(); } // 已经加载完的Action,但并不一定会有`leave`方法 else if (typeof action.leave === 'function') { action.leave(); } panel.action = null; }
it('def should be a promise object', function() { expect(Deferred.isPromise(def)).toBeTruthy(); expect(Deferred.isPromise({})).toBeFalsy(); });
function() { expect(Deferred.isPromise(def)).toBeTruthy(); });
it('should return a promise object', function() { expect(Deferred.isPromise(Deferred.all())).toBeTruthy(); });
it('should return a Promise when calling `load` method', function () { var model = new Model(); var value = model.load(); expect(Deferred.isPromise(value)).toBe(true); });