Add statesUNLOAD, LOADING, LOAED, ERROR
management support for ajax request.
UNLOAD
before ajax request sendLOADING
ajax request sendLOAED
ajax request respond successERROR
ajax request respond error
var fn = function() {
var deferred = Q.defer();
setTimeout(function() {
deferred.resolve();
}, 100);
return deferred.promise;
};
var smFn = sm(fn);
-
Just pass your promise function in , you get a state manager function
smFn
. NowsmFn.state == 'UNLOAD'
-
After you request
smFn()
. NowsmFn.state == 'LOADING'
-
If the request returns success. Then
smFn.state == 'LOAD'
-
Or the request returns error. Then you get
smFn.state == 'ERROR'
sm(promiseFn, msg): get the promiseFn's state manager
- params:
promiseFn
function that returns a promisemsg
return msg. default is{s:'success', f:'fail'}
, you can set it like this:{s:'mSuccess', f:'mFail'}
- return: DECORATED_FN[function]
DECORATED_FN.state: get request state
- return:
'UNLOAD'[string]
'LOADING'[string]
'LOADED'[string]
'ERROR'[string]
DECORATED_FN.msg: get request returned msg
- return:
msg[string]
0.0.1: first version
Copyright (c) 2015 lyz Licensed under the The MIT License (MIT).