异步
异步
是js编程必须要了解的内容,同步
是针对异步
而言。JavaScript引擎为单线程事件驱动模型。
Promise
直译为承诺,只能有两个解决状态,达成和未达成,且只能选其一。一般用作异步的情形,有时候为了代码一致方便扩展,也用作同步的情形。
function 烧水() {
return new Promise<string>((resolve, reject) => {
setTimeout(() => {
resolve('水开了');
}, 10000);
});
}
function 下面条() {
return new Promise<string>((resolve, reject) => {
setTimeout(() => {
resolve('水开了');
}, 10000);
});
}
function 做饭() {
return 烧水().then(() => {
return 下面条();
}).then(() => {
return 盛面条();
});
}
async/await
- 可以简单看作Promise的改进版写法
async
相当于Promise
await
相当于then
的简单写法,同步或异步方法均可使用- 在某些情形下,还是必须使用
Promise
(比如有回调函数的时候)
JSON
一种轻量级的数据交换格式
- 简洁和清晰的层次结构
- 易于人阅读和编写
- 易于机器解析和生成
- 能有效地提升网络传输效率
从对象转换为 JSON 字符串
const json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'
从 JSON 转换为对象
const obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果是 {a: 'Hello', b: 'World'}
练习
尽可能多地写出异步的例子
完成情况
Name | Remarks ——-|———-