Promise vs async/await

非同步编程,任务独立执行,不会互相 block。
可以透过 Promise 处理操作结果,并执行 callbacks。

const axios = require('axios')function callAPI(url) {    return new Promise((resolve, reject) => {        axios.get(url)            .then(res => {                resolve(res.data)            })            .catch(err => {                reject(err)            })    })}callAPI('https://api.example.com/data')    .then(data => {        console.log(data)    })    .catch(err => {        console.log(err)    })

callAPI return Promise
使用 axios.get
根据结果调用 resolve 还是 reject

callAPI(url)
成功:.then (callback)
失败:.catch (callback)


async:标记 function
await:等待 Promise
不使用 .then 和 .catch
搭配 try 和 catch

async function callAPI(url) {    try {        const res = await axios.get(url)        return res.data    } catch (err) {        throw err    }}async function fetchData() {    try {        const data = await callAPI('https://api.example.com/data')    } catch (err) {        console.error(err)    }}fetchData()

async/await 让程式码简洁,但仍基于 Promise 处理非同步操作。


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章