require.async([mid], function(ctor) { try { def.resolve(ctor(param, refNode)) } catch (e) { def.reject({ type: "rendering", code: -9999, message: e.message, rawError: e }) } });
function checkUser(forceCheck, quiet) { if (!forceCheck && userInfo.lastUpdateTime && (lang.now() - userInfo.lastUpdateTime) < tenMinutes) { var def = new Deferred(); def.resolve(getUser()); return def.promise } // checking if (userInfo.promise) { return userInfo.promise } // process check var checkUserPromise = userInfo.promise = services.getUser({skipError: true, quiet: quiet}); checkUserPromise.then(function(res) { if (res && res.resultCode == 200) { setUser(res.data) } }).always(function() { userInfo.lastUpdateTime = lang.now(); userInfo.promise = null }); return checkUserPromise }
require.async([mid], function(ctor) { def.resolve(ctor) });