es6 ajax
简单的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的更多相关文章
- 前端学习(二十八)es6&ajax(笔记)
ES6 let 块级作用域 const 解构赋值 字符串拼接 扩展运算符 ------------------------------------------ ...
- 再学ajax--第一天
今天写这个帖子就是是前几天在学ES6在学到Promise实现AJAX操作时,发现对ajax的一些知识点有些遗忘,所以就回头重新复习了一遍ajax,温故而知新. 主要有从4个方面去复习ajax,分析不透 ...
- 使用es6的then()方法封装jquery的ajax请求
使用场景: jsp页面中使用jquery的ajax请求比较频繁,以前vue框架的项目用过axios,所以就想着用then()封装一个公共请求的方法,这样每次请求就不用那么麻烦的写一大堆请求参数了. 示 ...
- ES6 用Promise对象实现的 Ajax 操作
下面是一个用Promise对象实现的 Ajax 操作的例子. const getJSON = function(url) { const promise = new Promise(function( ...
- 通过ES6实现的Ajax类
个人学习用途而已,仅供参考. class Ajax { constructor(xhr) { xhr = window.XMLHttpRequest ? new XMLHttpRequest() : ...
- 使用ES6的Promis完美解决ajax的回调(优化代码)
相信经常使用ajax的前端小伙伴,都会遇到这样的困境:一个接口的参数会需要使用另一个接口获取. 年轻的前端可能会用同步去解决(笑~),因为我也这么干过,但是极度影响性能和用户体验. 正常的前端会把接口 ...
- ES6新的数据类型 generato,在AJAX中的应用
1.next()方法会执行generator的代码,然后,每次遇到yield x;就返回一个对象{value: x, done: true/false},然后“暂停”.返回的value就是yield的 ...
- es6中promise实现ajax的例子
function getData(url){ var pro = new Promise(function(resolve,reject){ var xhr = null; try{ xhr = ne ...
- ES6封装原生ajax请求
http (data) { return new Promise((resolve, reject) => { var xhr = new XMLHttpRequest(); xhr.onrea ...
随机推荐
- 调试asp.net网页时不显示treeview的原因
在.net中本地调试asp.net网页时,treeview控件显示为文字方式,原因是在http://localhost/下面找不到webctrl_client的路径,解决的方法是把webctrl_cl ...
- 微信开发中网页授权access_token与基础支持的access_token异同
问题1:网页授权access_token与分享的jssdk中的access_token一样吗? 答:不一样.网页授权access_token 是一次性的,而基础支持的access_token的是有时间 ...
- MongoDB replication set副本集(主从复制)(8)(转)
转载地址:http://www.cnblogs.com/huangxincheng/p/4870557.html replicattion set 就是多台服务器维护相同的数据副本,提高服务器的可用性 ...
- js常见报错之Unexpected token in JSON at position
源头 出现这个报错提示,根本原因只有一个--json解析异常,所以请大家直接去关注自己json的返回数据注意检查其返回内容和内容的格式是否正确,至于本文血案的导火索是因为json注释滴问题. 事发 ...
- 使用samba实现linux与windows共享(测试成功)
samba服务器搭建 实现linux与windows文件共享有很多种方法,诸如wpc,vmtools等,今天我来介绍我在rehat系统中实验成功并且现在在用的的方法,直接给出操作步骤: ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- linux yum安装jdk
>>>>>>>>>> 实例: yum安装jdk 1.查看当前的jdk版本,并卸载 (注1:rpm -qa ###解释:查询所有安装的rpm包 ...
- 黑科技装点圣诞节,美国邮政局用AR APP邮寄圣诞包裹
AR手游<精灵宝可梦Go>的出现将增强现实技术带到了众人的视线中,各大公司纷纷紧抓AR的发展前景,同时积极将AR功能引入自家产品中.临近圣诞,又到了一年一度的快递高峰期,据591ARVR资 ...
- /usr文件系统
/usr文件系统 /usr 文件系统经常很大,因为所有程序安装在这里. /usr 里的所有文件一般来自Linux distribution:本地安装的程序和其他东西在/usr/local 下.这样可 ...
- js 爱恨情仇说 this
this 相信大家在写代码的时候都会遇到,可是怎么样才能用好this,估计这个还是有点困难的,虽然你有时候你会用到,但是他所在的具体的几个场景中所代表的是什么意思了?可能这个你就不是很清楚啊.这个就会 ...