Skip to content
/ sm Public

Add states(UNLOAD, LOADING, LOEADED, ERROR) management support for ajax request.

Notifications You must be signed in to change notification settings

liuyanzhi08/sm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

State Manager - a decoreator function

Add statesUNLOAD, LOADING, LOAED, ERROR management support for ajax request.

  1. UNLOAD before ajax request send
  2. LOADING ajax request send
  3. LOAED ajax request respond success
  4. ERROR ajax request respond error

Example

var fn = function() {
   var deferred = Q.defer();
    setTimeout(function() {
        deferred.resolve();
    }, 100);
    return deferred.promise;
 };
var smFn = sm(fn);

  1. Just pass your promise function in , you get a state manager function smFn . Now smFn.state == 'UNLOAD'

  2. After you request smFn() . Now smFn.state == 'LOADING'

  3. If the request returns success. Then smFn.state == 'LOAD'

  4. Or the request returns error. Then you get smFn.state == 'ERROR'

API

sm(promiseFn, msg): get the promiseFn's state manager

  • params:
    • promiseFn function that returns a promise
    • msg 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]

Version:

0.0.1: first version

Licence

Copyright (c) 2015 lyz Licensed under the The MIT License (MIT).

About

Add states(UNLOAD, LOADING, LOEADED, ERROR) management support for ajax request.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published