其他分享
首页 > 其他分享> > 回调地狱与Promise对象(二)

回调地狱与Promise对象(二)

作者:互联网

promise

    // promise对象
    // resolve可以将异步数据传递出来
    let p = new Promise(function(resolve){
        resolve("hello world")
    })

    // 通过then拿到异步数据
    p.then(function(data){
        console.log(data)  // hello world
    })

重写之前的函数

    function getTea(){
        return new Promise(function(resolve){
            setTimeout(() => {
                resolve('奶茶')
            }, 1000);
        })
    }
    function getHotpot(){
        return new Promise(function(resolve){
            setTimeout(() => {
                resolve('火锅')
            }, 2000);
        })
    }
    // 先吃火锅,再喝奶茶
    getHotpot().then(function(data){
        console.log(data)
        return getTea()
    }).then(function(data){
        console.log(data)
    })

更好的方式是使用async函数

    // async函数
    async function getData(){
        // 直接获取resolve传递出来的异步数据
        let hotpot = await getHotpot()
        console.log(hotpot)  // 火锅
        let tea = await getTea()
        console.log(tea)  // 奶茶
    }

标签:function,地狱,console,log,resolve,Promise,回调,data
来源: https://www.cnblogs.com/duet/p/15041464.html