async、await、回调地狱

本文介绍了async和await的使用,它们可以将普通函数转换为异步操作,避免回调地狱。async函数总是返回一个Promise,而await用于等待Promise结果。回调地狱的解决方案包括减少嵌套、模块化和单独处理错误。
摘要由CSDN通过智能技术生成

async 可以把普通的函数改成异步函数,调用都是一样的,返回的是一个promise对象

async配合await使用是一个阻塞的异步方法

async

* 返回一个promise对象, 无论函数内部是否有await都会返回promise对象

* 函数内部return返回的值, 会成为then回调函数的第一个参数

* 函数内部如果出现错误,会被then的第二个参数或catch所捕获

await

* 只能在async函数中出现, 普通函数直接使用会报错

* 正常情况下, await后面是一个Promise对象, 返回该对象的结果.

* 如果await后面不是Promise对象, 就直接返回对应的值

回调地狱

当一个函数作为参数传入另一个参数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执行,这种函数就称为回调函数。我们熟悉的定时器和Ajax中就存在有回调函数

 function hill(str) {
            return new Promise((resolve, reject) => {
                var flag = true
                setTimeout(function() {
                    if (flag) {
                        resolve(str
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值