飞道科技

飞道科技文档总汇

异步

异步是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

  1. 可以简单看作Promise的改进版写法
  2. async相当于Promise
  3. await相当于then的简单写法,同步或异步方法均可使用
  4. 在某些情形下,还是必须使用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 ——-|———-