异步模式下,获得数据的时间点通常具有不确定性,在封装异步方法时,通常要用到委托来达到返回数据和操作数据的目的。
异步请求中委托一般通过高阶函数来实现(函数作为参数传递或函数作为返回值返回)。
var mytest = function(vars){
console.log(vars+"作为参数传入");
var mytest = function(vars){
console.log(vars+"作为参数传入");
}
function showDemo(foo) {
foo("demo:");
}
showDemo(mytest);
var mytest = function(vars){
console.log(vars+"作为参数传入");
}
function showDemo(foo) {
foo("demo:");
}
showDemo(mytest);
通过委托实现异步请求方法的封装:
var getInfo = function(url,articleId,callBack){
$.ajax(url+"?id="+articleId,function(data){
if(typeof callBack == "function"){
getInfo("https://blog.mosang.net",2856,function(data){console.log(data)});
var getInfo = function(url,articleId,callBack){
$.ajax(url+"?id="+articleId,function(data){
if(typeof callBack == "function"){
callBack(data);
}
});
}
getInfo("https://blog.mosang.net",2856,function(data){console.log(data)});
var getInfo = function(url,articleId,callBack){
$.ajax(url+"?id="+articleId,function(data){
if(typeof callBack == "function"){
callBack(data);
}
});
}
getInfo("https://blog.mosang.net",2856,function(data){console.log(data)});