js使用generator函数同步执行ajax任务
本文实例为大家分享了js使用generator函数同步执行ajax任务的具体代码,供大家参考,具体内容如下
functionrequest(url,callback){
fetch(url,{mode:'cors',credentials:'include',headers:newHeaders({'X-Requested-With':'XMLHttpRequest'})})
.then(response=>response.text())
.then(text=>{
console.log(url);
console.log(text);
callback(text);
})
.catch((e)=>console.log(e));
}
variterator=null;
functiongetData(src){
request(src,function(response){
iterator.next(JSON.parse(response));
})
}
functiongetTpl(src){
request(src,function(response){
iterator.next(response);
});
}
//同步任务
functionrender(data,tpl){
for(variindata){
tpl=tpl.replace("${"+i+"}",data[i]);
}
returntpl;
}
//主逻辑
vargetArticles=function*(src){
console.log('begin')
vardata=yieldgetData(src)
vartpl=yieldgetTpl(data.tpl)
varres=render(data,tpl)
console.log(res)
}
iterator=getArticles('data.json')
//开始执行
iterator.next()
//异步任务模型
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。