扫码关注官方订阅号
https://github.com/Justin-lu/...请问有谁看过 github 上这个脚手架啊,里边有一块我看不不太懂,点击登录按钮,他是如何先发起 LOGIN_PENDING, 然后在发起 LOGIN_FULFILLED 的,能说详细点儿么,谢谢。
ringa_lee
使用了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中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
使用了JS的promise对象进行流程的控制
下面是一个简单的例子