简单的co用例:

var co=require("co")

class view{

	constructor(){

		co(function*(){
var p1=this.ajax1()
var p2=this.ajax2()
try{
var result=yield [p1,p2]
console.log(result)
}catch (err){
console.info(err) }
}.bind(this))
} ajax1(){
return new Promise(function(res,rej){
var t=1
setTimeout(function(){
t=t+1
res(t)
},2000)
})
} ajax2(){
return new Promise(function(res,rej){
var t="this is the t2 errone"
setTimeout(function(){
rej(t)
},200)
})
}
} module.exports=view

  co ajax

var co=require("co")

class view{
constructor(){
co(function*(){
var p1=this.ajax1()
var p2=this.ajax2()
try{
var result=yield [p1,p2]
console.log(result)
}catch (err){
console.info(err) }
var p3=yield this.ajax3()
console.log(p3)
}.bind(this))
} ajax1(){
return $.ajax({
url: '/rulecycle/test1.json',
data: {naem:21},
type:"get"
})// yield 必须是promise 或者thunk函数,jquery ajax 1.7版本后本身会返回promise对象,不需要手动封装
} ajax2(){
return $.ajax({
url: '/rulecycle/test1.json',
data: {naem:21},
type:"get"
})
}
ajax3(){
return $.ajax({
url: '/rulecycle/test1.json',
data: {naem:21},
type:"get"
})
}
} module.exports=view

 es6 async,适用简单的异步逻辑 :

class  view{
constructor(){
this.ajax1()
} async ajax1(){
try {
var resultData = await $.ajax({
url: '/rulecycle/test1.json',
type:"get"
})
console.info(resultData)
}catch (e){
console.info(e)
}
} } module.exports=view

  附注 : babel 默认不支持generator,async特性, 需要在webpack入口文件引入

require("babel-polyfill");

  

es6 ajax的更多相关文章

  1. 前端学习(二十八)es6&ajax(笔记)

    ES6    let    块级作用域    const    解构赋值    字符串拼接    扩展运算符    ------------------------------------------ ...

  2. 再学ajax--第一天

    今天写这个帖子就是是前几天在学ES6在学到Promise实现AJAX操作时,发现对ajax的一些知识点有些遗忘,所以就回头重新复习了一遍ajax,温故而知新. 主要有从4个方面去复习ajax,分析不透 ...

  3. 使用es6的then()方法封装jquery的ajax请求

    使用场景: jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了. 示 ...

  4. ES6 用Promise对象实现的 Ajax 操作

    下面是一个用Promise对象实现的 Ajax 操作的例子. const getJSON = function(url) { const promise = new Promise(function( ...

  5. 通过ES6实现的Ajax类

    个人学习用途而已,仅供参考. class Ajax { constructor(xhr) { xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ...

  6. 使用ES6的Promis完美解决ajax的回调(优化代码)

    相信经常使用ajax的前端小伙伴,都会遇到这样的困境:一个接口的参数会需要使用另一个接口获取. 年轻的前端可能会用同步去解决(笑~),因为我也这么干过,但是极度影响性能和用户体验. 正常的前端会把接口 ...

  7. ES6新的数据类型 generato,在AJAX中的应用

    1.next()方法会执行generator的代码,然后,每次遇到yield x;就返回一个对象{value: x, done: true/false},然后“暂停”.返回的value就是yield的 ...

  8. es6中promise实现ajax的例子

    function getData(url){ var pro = new Promise(function(resolve,reject){ var xhr = null; try{ xhr = ne ...

  9. ES6封装原生ajax请求

    http (data) { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.onrea ...

随机推荐

  1. iOS/Android 浏览器(h5)及微信中唤起本地APP

    在移动互联网,链接是比较重要的传播媒质,但很多时候我们又希望用户能够回到APP中,这就要求APP可以通过浏览器或在微信中被方便地唤起. 这是一个既直观又很好的用户体验,但在实现过程中会遇到各种问题: ...

  2. SQL语句汇总

    1.查询出来数据保留小数点2位,并且0.01时候,不会展示为.01. select     to_char(0.1,'fm9999999990.00') from dual; 2.wm_concat ...

  3. tp框架之增删改查

    控制器 <?php namespace Home\Controller; use Think\Controller; class CeShiController extends Controll ...

  4. 【数据结构初学】(java实现篇)——队列(转)

    原文地址:http://www.cnblogs.com/skywang12345/p/3603935.html 原文地址:http://www.cnblogs.com/skywang12345/p/3 ...

  5. Oracle 11g新特性延迟段创建和truncate的增强

    下面测试Oracle 11g开始的新特性truncate的增强和延迟段空间创建. Oracle从11g开始,当用户创建一张空表的时候不会先分配段和空间,只有当对这张表插入第一行数据的时候才分配段和空间 ...

  6. windows下编译及使用libevent

    Libevent官网:http://libevent.org/ windows 7下编译: 编译环境: windows 7 + VS2010 (1)解压libevent到F:\libevent\lib ...

  7. Logistic回归 python实现

    Logistic回归 算法优缺点: 1.计算代价不高,易于理解和实现2.容易欠拟合,分类精度可能不高3.适用数据类型:数值型和标称型 算法思想: 其实就我的理解来说,logistic回归实际上就是加了 ...

  8. C# 五、谈扩展方法的理解

    http://www.cnblogs.com/zhaopei/p/5678842.html

  9. nodejs review-04

    79 Secure your projects with HTTPS Express 生成SSL证书 openssl genrsa -out privkey.pem 1023 openssl req ...

  10. 循环遍历DataTable绑定到Table

    VoteList2.cs: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...