js使用generator函数同步执行ajax任务
2017-09-05 11:42
726 查看
本文实例为大家分享了js使用generator函数同步执行ajax任务的具体代码,供大家参考,具体内容如下
function request(url, callback) { fetch(url, {mode: 'cors', credentials: 'include', headers: new Headers({ 'X-Requested-With': 'XMLHttpRequest' })}) .then(response => response.text()) .then(text => { console.log(url); console.log(text); callback(text); }) .catch((e) => console.log(e)); } var iterator = null; function getData(src){ request(src, function(response){ iterator.next(JSON.parse(response)); }) } function getTpl(src){ request(src, function(response){ iterator.next(response); }); } // 同步任务 function render(data, tpl){ for(var i in data) { tpl = tpl.replace("${"+i+"}", data[i]); } return tpl; } // 主逻辑 var getArticles = function* (src){ console.log('begin') var data = yield getData(src) var tpl = yield getTpl(data.tpl) var res = render(data, tpl) console.log(res) } iterator = getArticles('data.json') // 开始执行 iterator.next() // 异步任务模型
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- ajax回调函数执行顺序带来的同步异步问题
- 使用PriorityBlockingQueue进行任务按优先级同步执行,摘自Think in Java
- AJAX提交表单后要清空,否则再次提交原来的数据会认为重复提交,提交失败。使用ajaxSubmit 函数需要引入jquery.form.min.js 文件
- Node.js中使用计时器定时执行函数详解
- 使用PriorityBlockingQueue进行任务按优先级同步执行,摘自Think in Java
- ajax回调函数执行顺序带来的同步异步问题
- 关于JS的立即执行函数的一处使用场景
- 在立即执行函数内组合使用构造函数模式和原型模式创建对象,实现模块化开发(以daterangepicker.js为例)
- jquery中ajax函数执行顺序问题之如何设置同步
- 使用Promise和async-await实现的一个异步遍历+同步执行任务的实例
- Co-使用co自动化执行Generator函数
- .net的ajax中使用javascript的send方法post参数,url传参,ajax同步异步JS包,传参即可用
- ajax回调函数动态加载的标签里面js事件不执行
- js立即执行函数的使用
- js bind 函数 使用闭包保存执行上下文
- Js bind 函数 使用闭包保存执行上下文
- Flask MVVM 开发(vue.js) - ajax如何同步更新地址栏history 以及使用浏览器返回按钮
- ajax回调函数执行顺序带来的同步异步问题
- 【AJAX】使用getScript()方法异步加载并执行js文件
- CSS执行JS表达式或函数 CSS中expression使用简介