javascript - 点击登录按钮,如何先发起 LOGIN_PENDING, 然后在发起 LOGIN_FULFILLED 的
ringa_lee
ringa_lee 2017-04-11 12:15:50
[JavaScript讨论组]

https://github.com/Justin-lu/...
请问有谁看过 github 上这个脚手架啊,里边有一块我看不不太懂,点击登录按钮,他是如何先发起 LOGIN_PENDING, 然后在发起 LOGIN_FULFILLED 的,能说详细点儿么,谢谢。

ringa_lee
ringa_lee

ringa_lee

全部回复(1)
PHPz

使用了JS的promise对象进行流程的控制
下面是一个简单的例子

var LOGIN_PENDING=function(){
    console.log("~~~LOGIN_PENDING~~~~");
};
var LOGIN_FULFILLED=function(responseData){
    console.log("~~~LOGIN_FULFILLED~~~~%s",responseData);
};
var LOGIN_REJECTED=function(reason){
    console.log("~~~LOGIN_REJECTED~~~~%s",reason);
};
new Promise(function(resolve,reject){

    LOGIN_PENDING();//调用pending
    setTimeout(function(){//你的loginajax请求
        var t=Date.now();
        if(t%2==0){
            resolve("LOGIN_DONE");//当请求完成后调用resolve,其中返回值值可以自己定义吗,例如可将返回的response对象作为参数或解析后的结果等
        }else{
            reject("You are poor!");//当请求失败时调用reject
        }
    },1000);

}).then(function onFulfilled(responseValue){
    LOGIN_FULFILLED(responseValue);//对resolve传入的参数执行相应的逻辑
},function onReject(reason){//处理reject传入的参数
    LOGIN_REJECTED(reason);
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号