Es6中处理异步的方式

一、在javascript中造成异步的因素

  • 1、定时器
  • 2、事件

二、使用Promise把异步变成同步

参考文档

  • 1、关于promise的基本使用

    /**
     * Promise需要实例化对象
     * 里面是一个函数,
     * resolve是一个代表成功的函数,如果不调用这个函数,下面的函数无法继续进行
     * 下面只能打印"第一个定时器"
     * reject是一个代表失败的函数
     */
    var promise = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            console.log("第一个定时器");
        },3000)
    })
    promise.then(function () {
        setTimeout(()=>{
            console.log("第二个定时器");
        },3000)
    })
  • 2、修改上面的代码都打印

    var promise = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            console.log("第一个定时器");
            resolve();
        },3000)
    })
    promise.then(function () {
        setTimeout(()=>{
            console.log("第二个定时器");
        },3000)
    })
  • 3、在resolve传递参数到then的函数接收

    var promise = new Promise((resolve,reject)=>{
        setTimeout(()=>{
            console.log("第一个定时器");
            resolve('你好');
        },3000)
    })
    promise.then(function (arg) {
        setTimeout(()=>{
            console.log("第二个定时器");
            console.log(arg);
        },3000)
    })
  • 4、reject的使用与resolve一样的

三、Generator函数的介绍

  • 1、定义方式(*可以靠前、靠后、中间)

    function * foo(){
        yield '我是第一个参数';
    }
  • 2、调用方式

    var f = foo();
    console.log(f.next());
  • 3、Generator函数与普通函数的区别

    • 1、定义函数的时候在function与函数名称之间多了一个*
    • 2、Generator函数使用yield作为返回数据
    • 3、Generator函数中可以定义多个yield返回数据,而普通函数只能是一个return
    • 4、Generator函数里面也可以有return与普通函数一样的return后面的代码不执行
    • 5、Generator函数与普通函数的调用方式不一样
  • 4、参考文档

四、async函数的认识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水痕01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值