ES 6 proimse &&iterator &&Generator函数 &&async
1.proimse 异步调用
function getData(){
let promise =new Promise((resolve,reject));
let xmlHttp =new XMLHttpRequest();
xmlHttp.onreadystatechange =function(){
if(xmlHttp.readyState===4){
if(xmlHttp.status==200){
resolve(xmlHttp.response)
}else{
reject('数据没有内容')
}
}
};
xmlHttp.open(tyoe="GET",url,true)
xmlHttp.send() } getData(GET,url).then((data)=> {
console,log(data.url1)
let url1 =data.url1
return getData(GET,url1);//返出promise对象(多次调用)
},(error)=>{
console,log(error)
})
.then(()=>{
//链式调用,
}).catch(()=>{ }) getData(POST,url).then((data)=> {
console,log(data)
},(error)=>{
console,log(error)
})
2.iterator 接口与 Generator 函数
Iterator 接口与 Generator 函数 Symbol.iterator方法的最简单实现,还是使用下一章要介绍的 Generator 函数。 let myIterable = {
[Symbol.iterator]: function* () {
yield 1;
yield 2;
yield 3;
}
}
[...myIterable] // [1, 2, 3] // 或者采用下面的简洁写法 let obj = {
* [Symbol.iterator]() {
yield 'hello';
yield 'world';
}
}; for (let x of obj) {
console.log(x);
}
// "hello"
// "world"
3.Generator 异步调用
<script src='../jquery.min.js'></script>
<script >
function getData(url){
$.get(url,function(data){
console.log(data)
let url ='http://127.0.0.1:3000' +data.urlId
SX.next('');//新闻详情的请求
})
}
function* sendxml(){
//新闻列表的请求
let url = yield getData('http://127.0.0.1:3000/newslist')
//新闻详情的请求
yield getData(url)
}
let SX =sendxml();
SX.next(); //新闻列表的请求 </script>
7.async
async function getData(url){
return new Promise((resolve,reject))
$.ajax({
method:'GET',
url,
success:data =>{
resolve(data)
},
error:(error) =>reject()
}) } async function SendXM(){
let result = await getData('http://127.0.0.1:3000/newslist')
await getData('http://127.0.0.1:3000' + result.urlId)
} SendXM()
ES 6 proimse &&iterator &&Generator函数 &&async的更多相关文章
- ES Next & Arrow function & Promise & Iterator & Generator yield & Async Await
ES Next & Arrow function & Promise & Iterator & Generator yield & Async Await co ...
- JavaScript中的Generator函数
1. 简介 Generator函数时ES6提供的一种异步编程解决方案.Generator语法行为和普通函数完全不同,我们可以把Generator理解为一个包含了多个内部状态的状态机. 执行Genera ...
- generator函数与async/await
理解async函数就要先理解generator函数,因为async就是Generator函数的语法糖 Generator 函数 Generator 函数是 ES6 提供的一种异步编程解决方案,可以先理 ...
- async函数对比Generator函数
首先定义一个读取文件的异步函数 var readFile = function(fileName){ return new Promise((resolve,reject)=>{ fs.read ...
- ES6的generator函数
generator是什么? generator是ES6提供的一种异步编程解决方案,在语法上,可以把它理解为一个状态机,内部封装了多种状态.执行generator,会生成返回一个遍历器对象.返回的遍历器 ...
- Generator函数语法解析
转载请注明出处: Generator函数语法解析 Generator函数是ES6提供的一种异步编程解决方案,语法与传统函数完全不同.以下会介绍一下Generator函数. 写下这篇文章的目的其实很简单 ...
- JavaScript异步编程:Generator与Async
从Promise开始,JavaScript就在引入新功能,来帮助更简单的方法来处理异步编程,帮助我们远离回调地狱. Promise是下边要讲的Generator/yield与async/await的基 ...
- Generator和Async
引言 接触过Ajax请求的会遇到过异步调用的问题,为了保证调用顺序的正确性,一般我们会在回调函数中调用,也有用到一些新的解决方案如Promise相关的技术. 在异步编程中,还有一种常用的解决方案,它就 ...
- JS异步编程 (2) - Promise、Generator、async/await
JS异步编程 (2) - Promise.Generator.async/await 上篇文章我们讲了下JS异步编程的相关知识,比如什么是异步,为什么要使用异步编程以及在浏览器中JS如何实现异步的.最 ...
随机推荐
- 初学python之路-day08
#学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...
- sqlite3 学习
安装sqlite: [ sqlite]$ wget http://www.sqlite.org/sqlite-3.6.16.tar.gz[ sqlite]$ tar -xzvf sqlite-3.6. ...
- 高可用Redis(二):字符串类型
1.Redis字符串结构 对于Redis来说,所有的key都是字符串,其value可以是string,list,hash,set,zset 比如下面的 键值对的value还可以更加复杂,比如可以是js ...
- C语言的数组指针
数组(Array)是一系列具有相同类型的数据的集合,每一份数据叫做一个数组元素(Element).数组中的所有元素在内存中是连续排列的,整个数组占用的是一块内存.以int arr[] = { 99, ...
- C# 高级编程01----.Net基础介绍
一.C#与.Net 的关系 1)C#语言 1. C#是一种简洁.类型安全的面向对象语言,可以使用C#语言创建可以在.Net Framework上运行的应用程序 2. C# 语言功能取决于.Net 的功 ...
- LoadRunner结果分析与生成报告
启动Analysis会话 1.打开HP LoadRunner2.打开LoadRunner Analysis在LoadRunner Analysis选项卡中单击分析负载测试3.打开Analysis会话文 ...
- 关联管理器(RelatedManager)
一.class RelatedManager "关联管理器"是在一对多或者多对多的关联上下文中使用的管理器.它存在于下面两种情况: 1.一对多 ForeignKey关系的“另一边” ...
- 拦截请求并记录相应信息-springboot
方式: 1.FIlter过滤器 2.interceptor拦截器 3.Aspect切片 一.Filter过滤器形式 只能处理request中的数据 不能确定请求要走的是哪个controller信息 ...
- spring boot jpa 使用update 报错解决办法
在spring boot jpa 中自定义sql,执行update操作报错解决办法: 在@Query(...)上添加 @Modifying@Transactional注解
- pip 源
pip使用过程中的痛苦,大家相必都已经知道了,目前豆瓣提供了国内的pypi源,源包相对会略有延迟,但不影响基本使用. pip install some-package -i https://pypi. ...