广东建设厅的网站查询,网页特技的网站,唐山哪家做网站好,网络维护是什么意思一、async函数和await
async和await关键字让我们可以用一种更简洁的方式写出基于Promise的异步行为#xff0c;而无需刻意地链式调用Promise
async写在函数声明的前面#xff1b;在async函数内#xff0c;使用await关键字#xff0c;获取Promise对象“成功状态”结果值 而无需刻意地链式调用Promise
async写在函数声明的前面在async函数内使用await关键字获取Promise对象“成功状态”结果值 script//注意await必须用在async修饰的函数内await会阻止“异步函数内”代码继续执行原地等待结果//1.定义一个async修饰函数async function getData() {//2.await等待Promise对象成功的结果const pObj await axios({url:http://hmajax.itheima.net/api/province})const pname pObj.data.list[0]}getData()/script
捕获错误
使用try……catch语句标记要尝试的语句块并指定一个出现异常时抛出的响应
scriptasync function getData() {//1.try包装可能产生错误的代码try {const pObj await axios({url:http://hmajax.itheima.net/api/province})const pname pObj.data.list[0]} catch(error) {//2.接着调用catch块接收错误信息//dir可以看到错误信息console.dir(error)}}getData()
/script
二、事件循环EventLoop 概念事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。
定义执行代码和收集异步任务的模型在调用栈空闲反复调用任务队列里回调函数的执行机制
三、宏任务与微任务
异步任务分为
宏任务由浏览器环境执行的异步代码微任务由JS引擎环境执行的异步代码
任务代码执行所在环境JS脚本执行事件script浏览器setTimeout/setInterval浏览器AJAX请求完成事件浏览器用户交互事件等浏览器Promise对象.then()JS引擎
先执行同步代码再是微任务最后是宏任务
四、Promise.all静态方法
概念合并多个Promise对象等待所有同时完成完成或某一个失败做后续逻辑 script/*** 掌握Promise的all方法作用和使用场景*///1.得到Promise对象const bjPromise axios({url: ,params: { city: 110100}})const shPromise axios({url: ,params: { city: 310100}})const gzPromise axios({url: ,params: { city: 440100}})const szPromise axios({url: ,params: { city: 440300}})//2.使用Promise.all合并多个Promise对象const p Promise.all([bjPromise,shPromise,gzPromise,szPromise])p.then(result {console.log(result)}).catch(error {console.dir(error)})/script