2021年9月5日

js自定义一个带回调的函数,信息量很大,用途很广


近期在做一个金融平台的项目网站切图+数据联调的时候遇到的问题,需要获取token,如果获取成功,在执行某一段操作,当好几个页面都需要用到的时候,就需要封装成一个函数,即利于后期的维护,代码也一目了然,代码如下,包含了cookie定义,判断,ajax获取,json数据解析,渲染,回调等代码片段,整理出来便于分享和后期在遇到的时候需要。


//获取到token后回调
function getToken(callback){

//console.log($.cookie('token'));

if($.cookie('token')=='null' || $.cookie('token')=='undefined' || $.cookie('token')==null || $.cookie('token')==undefined){
console.log('getajax!');
$.ajax({
methods: 'get',
url: 'https://example.com/getToken?accessKeyId=EtmiLaqhDDxuoXxT&secretKey=b314dcb83a',
success: function (res) {

if(jQuery.parseJSON(res).code==0){
var token= jQuery.parseJSON(res).token;
//console.log(token);

//保存到cookie设置有效期为1天
$.cookie('token', token, { expires: 1 });
//回调函数
typeof(callback)==='function'&&callback(token);
}
else{
return false;
}

},
error:function(){
return false;
}
});
}
else{
console.log('getcookie!');
//回调函数
typeof(callback)==='function'&&callback($.cookie('token'));

}

}

带参数,带回调的情况


/*
cookieName cookie自定义名称
callback 回调函数
*/
function getSort(cookieName,callback){


/*排序规则*/
var symbolSort = {};

//排序用cookie存储
if($.cookie(cookieName)=='null' || $.cookie(cookieName)=='undefined' || $.cookie(cookieName)==null || $.cookie(cookieName)==undefined){

$.cookie(cookieName, JSON.stringify(symbolSort));
}
//console.log('cookiesort'+$.cookie('sortList'));

var sortList = JSON.parse($.cookie(cookieName));

if(sortList){
//回调函数
typeof(callback)==='function'&&callback(sortList);
}
else{
return false;
}


}

 

标签:, , , , ,

微信扫一扫二维码访问