js使用generator函数同步执行ajax任务

 更新时间:2017年09月05日 11:42:26   作者:在这个肆意的青春岁月  
这篇文章主要为大家详细介绍了js使用generator函数同步执行ajax任务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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()
// 异步任务模型

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javascript设计模式之装饰者模式

    javascript设计模式之装饰者模式

    这篇文章主要为大家详细介绍了javascript设计模式之装饰者模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • 浅析js中base64与file的转换

    浅析js中base64与file的转换

    这篇文章主要为大家详细介绍了JavaScript中base64与file的转换的实现方法,文中的示例代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-09-09
  • JavaScript实现电商平台商品细节图

    JavaScript实现电商平台商品细节图

    这篇文章主要为大家详细介绍了JavaScript实现电商平台商品细节图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • js截取字符串功能的实现方法

    js截取字符串功能的实现方法

    这篇文章主要为大家详细介绍了js截取字符串功能的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • javascript获得服务器端控件的ID的实现代码

    javascript获得服务器端控件的ID的实现代码

    javascript获得服务器端控件的ID的实现代码,需要的朋友可以参考下。
    2011-12-12
  • 在javascript中随机数 math random如何生成指定范围数值的随机数

    在javascript中随机数 math random如何生成指定范围数值的随机数

    本篇文章给大家介绍在javascript中随机数math random如何生成指定范围数值的随机数,由于math.random生成了一个伪随机数,之后还要经过我们的后期处理。对随机数math random感兴趣的朋友一起了解了解吧
    2015-10-10
  • jquery实现左右滑动式轮播图

    jquery实现左右滑动式轮播图

    这篇文章主要为大家详细介绍了jquery实现左右滑动式轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • 微信小程序登录对接Django后端实现JWT方式验证登录详解

    微信小程序登录对接Django后端实现JWT方式验证登录详解

    这篇文章主要介绍了微信小程序登录对接Django后端实现JWT方式验证登录详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • JS实现前端动态分页码代码实例

    JS实现前端动态分页码代码实例

    这篇文章主要介绍了JS实现前端动态分页码代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • BootStrap实现邮件列表的分页和模态框添加邮件的功能

    BootStrap实现邮件列表的分页和模态框添加邮件的功能

    这篇文章主要介绍了bootstrap分页,模态框,实现邮件列表的分页,和模态框添加邮件的功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-10-10

最新评论