全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  html5面试题

避免回调地狱

发布时间:2022-11-18 16:39:35
发布人:syq

  使用 async await 配合 promise是解决回调地狱的终极方法 async/await特点

  1, async/await更加语义化,async 是“异步”的简写,async function 用于申明一个 function 是异步的; await,可以认为是async wait的简写, 用于等待一个异步方法执行完成;

避免回调地狱

  2, async/await是一个用同步思维解决异步问题的方案(等结果出来之后,代码才会继续往下执行)

  3, 可以通过多层 async function 的同步写法代替传统的callback嵌套 async function语法

  1)自动将常规函数转换成Promise,返回值也是一个Promise对象

  2)只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数

  3)异步函数内部可以使用await await语法

   await 放置在Promise调用之前,await 强制后面点代码等待,直到Promise对象resolve,得到resolve的值作为await表达式的运算结果

  await只能在async函数内部使用,用在普通函数里就会报错

  函数形式 function timeout(ms) { return new Promise((resolve, reject) => { setTimeout(() => {reject('error')}, ms); //reject模拟出错,返回error }); } async function asyncPrint(ms) { try { console.log('start'); await timeout(ms); //这里返回了错误 console.log('end'); //所以这句代码不会被执行了 } catch(err) { console.log(err); //这里捕捉到错误error } }

相关文章

前端公司面试题——jquery移除class

2023-08-07

前端JavaScript面试题——js时间戳转换时间的方法

2023-08-04

前端中JavaScript常见的面试题——js年月日转为时间戳

2023-08-02

前端jquery面试题——jquery字符串包含哪些?

2023-08-01

前端JavaScript面试题——js如何创建函数?

2023-07-31

前端程序员面试题——jquery发送get请求的步骤

2023-07-28
在线咨询 免费试学 教程领取