程序猿~

ES6(二)

2019-02-21  本文已影响0人  红笔黑字

1. Promise

Promise—解决异步操作(内部没变)

同步-串行    简单、方便
异步-并发    性能高、体验好

1.1 Promise的使用

图片.png

以上是完整版,以下是简版


图片.png

1.2 Promise.all的使用

图片.png

从上面可以看出,如果其中有一个失败,可能导致整个失败
同时,如果返回的数据相关联的,也不能用promise,它不能处理复杂的逻数据
简版:


图片.png

2. generator

生成器/生成器函数

2.1 generator基本写法

需要next一步步调用,每次next后会暂停

        function *show2() {
            alert('aaa');
            yield;
            alert('bbbb')
        }
        let gen=show2();
        gen.next();
        gen.next();

2.2 yeild

1.具有参数
2.可以return返回

        function* show2() {
            alert('aaa');
            let a=yield;
            alert('bbbb'+a)
        }
        let gen=show2();
        gen.next();
        gen.next(12);
        //接收参数,是在yeild之后,所以在第二个next传参
        function* show2() {
            alert('aaa');
            yield 55;
            alert('bbbb');
            return 10
        }
        let gen=show2();
        let res1=gen.next();console.log(res1);//{value: 55, done: false}
        let res2=gen.next();console.log(res2);//{value: 10, done: true}
        //不加return,res2的value就是undefined

2.3 generator和Promise配合使用

3 async

和generator类似,不同点:
1.写法:async开头,无*,
2.await和yeild类似,但是不异步会直接输出
3.不用next

        async function show() {
            alert('a');
            await 12;
            alert('b');
        }
        show();
上一篇 下一篇

猜你喜欢

热点阅读