当前位置:网站首页>async / await
async / await
2022-07-06 23:42:00 【InfoQ】
async / await
//fn 是一个异步函数
async function fn() {
// await 关键字, 这个函数必须要有 async
const res = await pAjax({ url: './server/a.php', dataType: 'json' })
// 当 pAjax 发送的请求没有回来之前, res 不会被赋值
// 只有请求回来以后, res 才会被赋值
// 如果这段打印先于请求回来执行, res 没有结果
// 如果 res 有结果, 证明: 这段代码被延后执行了, 延后到后面的 promise 对象完成以后
console.log(res)
console.log('后续代码')
}
fn()
async function fn() {
const res1 = await pAjax({ url: './server/a.php', dataType: 'json' })
console.log('需求1: ', res1)
const res2 = await pAjax({ url: './server/b.php', dataType: 'json', data: res1 })
console.log('需求2: ', res2)
const res3 = await pAjax({ url: './server/c.php', dataType: 'json', data: res2 })
console.log('需求3: ', res3)
}
console.log('start')
fn()
console.log('end')
const div = document.querySelector('div')
div.addEventListener('click', async () => {
const res1 = await pAjax({ url: './server/a.php', dataType: 'json' })
console.log('需求1: ', res1)
const res2 = await pAjax({ url: './server/b.php', dataType: 'json', data: res1 })
console.log('需求2: ', res2)
const res3 = await pAjax({ url: './server/c.php', dataType: 'json', data: res2 })
console.log('需求3: ', res3)
})
generator 函数
// 当有了星号以后, fn 不再是一个函数了
function* fn() {
console.log('我是第一段 代码')
yield '第一段结束'
console.log('我是第二段 代码')
yield '第二段结束'
console.log('我是第三段 代码')
return '第三段结束'
}
// result 就是 fn 给生成一个 迭代器
const result = fn()
// 第一次, 从 fn 的开头执行到第一个 yield,
// 把 yield 后面的东西当作返回值
const first = result.next()
console.log(first)
// 第二次, 从第一次的 yield 后面开始执行到第二个 yield 结束
// 把 第二个 yield 后面的东西当作返回值
const second = result.next()
console.log(second)
const third = result.next()
console.log(third)
const arr = ['hello', 'world', '你好', '世界']
const obj = { name: 'jack' }
for (let key in arr) {
console.log(key, arr[key])
}
for (let value of arr) {
console.log(value)
}
const s = new Set(['hello', 'world', '你好', '世界'])
// 1. 添加
s.add(true)
const s = new Set(['hello', 'world', '你好', '世界'])
// 2. 删除
s.delete('世界')
const s = new Set(['hello', 'world', '你好', '世界'])
// 3. 判断
console.log(s.has('你好'))
// 6. for of 循环来遍历
for (let value of s) {
console.log(value)
}
去重
const arr = [1, 2, 3, 4, 5, 4, 3, 2, 3, 4, 5, 2, 1]
const res = [...new Set(arr)]
console.log(res)
边栏推荐
- How can project managers counter attack with NPDP certificates? Look here
- How can professional people find background music materials when doing we media video clips?
- Educational Codeforces Round 22 B. The Golden Age
- 《4》 Form
- Taobao store release API interface (New), Taobao oauth2.0 store commodity API interface, Taobao commodity release API interface, Taobao commodity launch API interface, a complete set of launch store i
- Wonderful express | Tencent cloud database June issue
- 阿里云的神龙架构是怎么工作的 | 科普图解
- [PHP SPL notes]
- Addressable pre Download
- [reading of the paper] a multi branch hybrid transformer network for channel terminal cell segmentation
猜你喜欢
English语法_名词 - 所有格
Common skills and understanding of SQL optimization
Pinduoduo product details interface, pinduoduo product basic information, pinduoduo product attribute interface
Phenomenon analysis when Autowired annotation is used for list
Initial experience of annotation
MySQL数据库学习(8) -- mysql 内容补充
How Alibaba cloud's DPCA architecture works | popular science diagram
Paper reading [open book video captioning with retrieve copy generate network]
基于 hugging face 预训练模型的实体识别智能标注方案:生成doccano要求json格式
Two person game based on bevy game engine and FPGA
随机推荐
CVE-2021-3156 漏洞复现笔记
一条 update 语句的生命经历
How Alibaba cloud's DPCA architecture works | popular science diagram
Unity让摄像机一直跟随在玩家后上方
Leetcode (46) - Full Permutation
ThinkPHP Association preload with
DJ-ZBS2漏电继电器
漏电继电器LLJ-100FS
做自媒体,有哪些免费下载视频剪辑素材的网站?
Lombok插件
利用OPNET进行网络指定源组播(SSM)仿真的设计、配置及注意点
Flink SQL realizes reading and writing redis and dynamically generates hset key
TabLayout修改自定义的Tab标题不生效问题
Annotation初体验
淘宝商品详情页API接口、淘宝商品列表API接口,淘宝商品销量API接口,淘宝APP详情API接口,淘宝详情API接口
京东商品详情页API接口、京东商品销量API接口、京东商品列表API接口、京东APP详情API接口、京东详情API接口,京东SKU信息接口
4. Object mapping Mapster
JVM(十九) -- 字节码与类的加载(四) -- 再谈类的加载器
Cve-2021-3156 vulnerability recurrence notes
分布式事务解决方案之2PC