async/await处理多个异步请求

在这里插入图片描述

        /*
            async/await 处理异步操作
        */
        axios.defaults.baseURL = 'http://localhost:9999'
        async function queryData() {
            let result = await axios.get('adata')
            console.log(result)
        }

        queryData()
app.get('/adata', (req, res) => {
    res.send('hello again axios!')
})

结果:
在这里插入图片描述

如果我们直接在queryData中返回结果,而不是打印,就可以在调用queryData以后调用then方法获取到返回值:
在这里插入图片描述
结果:
在这里插入图片描述

await后面需要跟着一个promise实例对象,上面我们用的是axios,现在我们手动写一个promise对象:
在这里插入图片描述
结果:
在这里插入图片描述

async/await处理多个异步请求:

在这里插入图片描述

<script>
        /*
            async/await 处理多个异步操作
        */
        axios.defaults.baseURL = 'http://localhost:9999'

        async function queryData(){
        	// 得到调用接口async1的结果
            const info = await axios.get('async1')
            // 上面的结果这里需要拼接到查询字符串里并调用async2接口
            const result = await axios.get('async2?info=' + info.data)
            return result.data
        }

        queryData().then((result)=>{
            console.log(result)
        })
    </script>
app.get('/async1', (req, res) => {
    res.send('data')
})

app.get('/async2', (req, res) => {
    console.log('req.query:', req.query)
    if (req.query.info === 'china') {
        res.send('final data')
    } else {
        res.send('processing...')
    }
})

结果:
在这里插入图片描述在这里插入图片描述

我们改一下接口async1的返回值:
在这里插入图片描述
结果:
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值