美文网首页
ES6详细讲解(三)

ES6详细讲解(三)

作者: 哈哈腾飞 | 来源:发表于2017-06-12 21:31 被阅读0次

            先复习一下异步的概念:多个操作可以同时进行

            了解了这个概念之后,介绍一下工作中经常用到的的promise

    第十一个知识点:promise-----承诺

        就是一个对象,用来传递异步操作的数据(消息)

       peding(等待,处理中) ---> resolve(完成,fullFilled)

           ---->rejectd(拒绝,失败)

    使用:

    var p1 = new Promise(function(resolve,reject){

                                                                    //resolve成功了

                                                                  //reject失败了

                                                        });

    var p1 = new Promise(function(resolvve,reject){

                                                             if(异步处理成功了){

                                                                                resolve(成功的数据)

                                                                                  }else{

                                                                                        reject(失败原因)

                                                                                         }

                                                                                })

    p1.then(成功(resolve),失败(reject))

    p1.then().then()中第二个.then是第一个.then返回的值

     promise用用:ajax配合promise

          

    第十二个知识点:catch -----用来捕获错误

               

    第十三个知识点:all ------全部,用于将多个Promise对象,组合,包装成一个全新的promise实例


    Promise.all([p1,p2,p3,....]);

                                                  所有的promise对象,都正确,才走成功

                                                  否则,只要有一个错误,是失败了

    第十四个知识点:Promise.race ----返回也是一个promise对象

           最先能执行的promise结果,哪个最快,用哪个

    如:在异步的时候,哪个先过来就用哪个

    Promise.resolve() --------生成一个成功的promise对象

                                语法:Promise.resolve(value)

                                             Promise.resolve(Promise)

    第十五个知识点:Generrator -----生成器 

                 

                                           是一个函数

                                            可以遍历,Generrator就是一个状态机

                                                语法:

                                                                   function show(){    //普通函数

                                                                                                     }

                                                                    function* show(){     //generrator函数

                                                                                            yield xxx

                                                                                             }

                                                      形式上:

                                                                   a).函数名字前面有*

                                                                    b).函数内部使用yield语法

    false:表示还没有遍历完true:表示遍历完了 遇到return也是返回true也是结束了

    next可以带参数:

                                  给上一个yield的值

    for....of循环  用来循环数组和Map对象,还可以循环generrtor函数

            

    打印出12345

    generrator函数放在对象里面


    以上第二种方法是不对的,会报错的,在对象中只能用第一个

    相关文章

      网友评论

          本文标题:ES6详细讲解(三)

          本文链接:https://www.haomeiwen.com/subject/pbhrqxtx.html