第二十七天易忘知识点-ES6

day27

js异步编程

js是单线程的,所以如果没有异步编程,碰到需要耗时很多的事件的时候就会出现浏览器阻塞的情况,需要很长的时间去处理。

promise

promise有三个状态,进行种、已完成、已失败,状态一但确定后就无法改变

let promise = new Promise(resolve, reject) {
    if(true) {//异步操作成功,此处的代码为同步操作
        resolve();
    } else {
        reject();
    }
}

promise.then((res) => {// 此处的代码为异步操作的微任务
    console.log(res); // promise实例成功
}).catch((error) => {
    console.log(error); // promise实例失败
})

generator

可以理解为状态机,调用generator函数返回值是迭代器对象,每调用一次迭代器对象next方法就会执行一个状态

function* generator(){
    yield '1';
    yield '2';
    yield '3';
}

console.log(generator().next());

async

配合await使用,是一个语法糖,内部封装了generator

async function findAll(){
    let res = await axios.get();
}
点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注