• async基本使用


    async函数在使用上很简单,我们来看一下下面的例子

    async function add(a,b){
    
      return a+b
    
    }
    
    add(1,2).then((res) =>{
    
      consoel.log(res); //3
    
    })

    在上面的例子中我们可以看到。async返回的是一个 prominse对象。可以想prominse一样使用。then的方法

    还有一个特性,在async里有await 这个关键字。他是专属async的方法如果在函数外就会报错

    在函数运行中遇到await会先把异步回调执行完成再去执行下面的内容。看下面这个例子

    function wa(){
        return new Promise((resolve, reject) => {
            console.log('你');
            setTimeout(function(){
                resolve('回来了');
            })
        });
    }
    async function aw(){
        await wa().then(res => console.log(res))
        console.log('欢迎回家');
    }
    
    aw().then(res=>{
        console.log('咳咳');
    })

    它运行出来的结果就是

    回来了

    欢迎回家

    咳咳

     这样我们就可以很好的控制异步回调的内容。看下面的例子

    function fun1(){
        return new Promise((resolve,reject) =>{
            setTimeout(function(){
                resolve('1');
            },3000)
        })
    }
    
    function fun2(){
        return new Promise((resolve,reject) => {
            setTimeout(function(){
                resolve('2');
            },2000)
        })
    }
    
    async function all(){
        await fun1().then((res) =>{console.log(res)});
        await fun2().then((res) =>{console.log(res)});
        return '执行完成了'
    }
    
    all().then((res) =>{
        console.log(res);
    })
    //1
    //2
    //执行完成了

    上面的代码我们想让在fun1执行完成以后再去执行fun2就可以使用这样的方法,这样要比嵌套的写法好进行维护。

    这也是解决回调地狱的方法之一。

  • 相关阅读:
    PHP unset销毁变量并释放内存
    编码问题
    编程中关于对时区的理解(语言PHP)
    简单树结构的实现
    设计模式
    Selenium WebDriver +Python讲解
    PS入门基础-魔幻调色
    .NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?
    电商设计
    NPOI相关学习文档
  • 原文地址:https://www.cnblogs.com/chenyudi/p/13356481.html
Copyright © 2020-2023  润新知