async js 返回值_javascript中async和await的基本使用

本文介绍了JavaScript中async和await的使用,它们用于处理异步操作,将异步转化为同步。async函数返回Promise对象,其返回值可在then方法中获取。await只能在async函数内部使用,用于等待异步操作完成并获取返回值。如果await后面是Promise,它会等待Promise解析,如果不是Promise,则不等待。当出现错误时,会进入then方法的第二个回调。示例展示了async和await如何影响代码执行顺序。
摘要由CSDN通过智能技术生成

async和await是在es7中的内容,不过现在主流浏览器都支持,今天我们就来说说怎么用。

首先你得先了解:es6中的promise,链接:JS中promise的基础用法

async和await是用来处理异步操作的,把异步变为同步的一种方法。

async声明一个function来表示这个异步函数,await用于等待函数中某个异步操作执行完成。

    async function vacation() {        return "result";    }    vacation().then((res)=>{        console.log(res);//输出result    })

async返回的是一个promise对象,返回值可在promise中的then方法中的第一个回调函数中使用。

await只能用于async的内部,await用于在一个异步操作之前,表示要等待这个异步操作的返回值。

如果await得到不是一个promise对象,那么就不会等待这个异步操作。

如果是一个promise对象,await就会等待promise对象的resolve,得到传入resolve的参数,作为返回值。

function edition(num){        return new Promise((resolve, reject)=>{            setTimeout(() => {                resolve(2*num)            }, 2000);        })    }    async function attract(
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
async/awaitJavaScript 处理异步操作的一种语法糖。它可以让我们以同步的方式编写异步代码,使其更易读和维护。 在使用 async/await 时,async 函数用来定义一个异步函数,它内部可以包含一个或多个 await 表达式。await 表达式可以暂停异步函数的执行,等待一个 Promise 对象的解析,并返回 Promise 对象的解析值。 当调用一个 async 函数时,它会返回一个 Promise 对象。这个 Promise 对象的状态和结果取决于 async 函数内部的执行情况。如果 async 函数内部没有出现异常,那么 Promise 对象的状态将变为 resolved,并且返回值将是 async 函数的返回值。如果 async 函数内部抛出了异常,那么 Promise 对象的状态将变为 rejected,并且返回值将是抛出的异常。 例如,下面是一个使用 async/await 的示例: ```javascript async function fetchData() { try { const response = await fetch('https://api.example.com/data'); const data = await response.json(); return data; } catch (error) { console.error('Error:', error); throw error; } } fetchData() .then(data => { console.log('Data:', data); }) .catch(error => { console.error('Error:', error); }); ``` 在上述示例,fetchData 函数使用async 关键字来定义一个异步函数。在函数体内部,我们使用了 await 关键字来等待 fetch 和 response.json 方法的执行结果。如果执行成功,返回的数据将会被返回和打印。如果发生错误,将会被捕获并打印错误信息。 请注意,async/await 只是一种语法糖,它并不是传统的同步操作,仍然需要基于 Promise 来处理异步操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值