当前位置: 首页 > news >正文

北京网站建设成都基于jsp网站开发开题报告

北京网站建设成都,基于jsp网站开发开题报告,wordpress主题36氪,网站做一样的算侵权么上一节说#xff0c;JavaScript异步操作需要通过Promise实现#xff0c;一个Promise对象在操作网络时是异步的#xff0c;等到返回后再调用回调函数#xff0c;执行正确就调用then()#xff0c;执行错误就调用catch()。 虽然异步实现了#xff0c;不会让用户感觉到页面“…上一节说JavaScript异步操作需要通过Promise实现一个Promise对象在操作网络时是异步的等到返回后再调用回调函数执行正确就调用then()执行错误就调用catch()。 虽然异步实现了不会让用户感觉到页面“卡住”了但是一堆then()、catch()写起来麻烦看起来也乱。 有没有更简单的写法 一、async函数 可以用关键字async配合await调用Promise实现异步操作但代码却和同步写法类似 async function get(url) {let resp await fetch(url);return resp.json(); } Fetch API简介 使用async function可以定义一个异步函数异步函数和Promise可以看作是等价的。 在async function内部用await调用另一个异步函数写起来和同步代码没啥区别但执行起来是异步的。 也就是说 let resp await fetch(url); 自动实现了异步调用它和下面的Promise代码等价 let promise fetch(url); promise.then((resp) {// 拿到resp }) 如果我们要实现catch()怎么办用Promise的写法如下 let promise fetch(url); promise.then((resp) {// 拿到resp }).catch(e {// 出错了 }); 用await调用时直接用传统的try{ ... } catch async function get(url) {try {let resp await fetch(url);return resp.json();} catch (e) {// 出错了} } 用async定义异步函数用await调用异步函数写起来和同步代码差不多但可读性大大提高。 需要特别注意的是await调用必须在async function中不能在传统的同步代码中调用。 那么问题来了一个同步function怎么调用async function呢 首先普通function直接用await调用异步函数将报错 async function get(url) {let resp await fetch(url);return resp.json(); }function doGet() {let data await get(/api/categories);console.log(data); }doGet(); 如果把await去掉调用实际上发生了但我们拿不到结果因为我们拿到的并不是异步结果而是一个Promise对象 async function get(url) {let resp await fetch(url);return resp.json(); }function doGet() {let promise get(/api/categories);console.log(promise); }doGet();// [object Promise] 异步函数总是返回一个Promise对象。如果函数体中没有显式地返回任何值或者返回了一个非Promise值那么这个值会被包装成一个已解决的Promise返回。 async function resolveWithValue() { return Hello, World!; // 返回一个已解决的Promise其值为Hello, World! } async function resolveWithUndefined() { // 没有返回值但会隐式地返回一个已解决的Promise其值为undefined } 因此在普通function中调用async function不能使用await但可以直接调用async function拿到Promise对象后面加上then()和catch()就可以拿到结果或错误了 async function get(url) {let resp await fetch(url);return resp.json(); }function doGet() {let promise get(/api/categories);promise.then(data {// 拿到datadocument.getElementById(test-response-text).value JSON.stringify(data);}); }doGet(); 因此定义异步任务时使用async function比Promise简单调用异步任务时使用await比Promise简单捕获错误时按传统的try...catch写法也比Promise简单。只要浏览器支持完全可以用async简洁地实现异步操作。 值得注意的是虽然await使异步代码看起来像同步代码一样简单但它并没有改变JavaScript的单线程和非阻塞特性。 当await一个Promise时JavaScript引擎会暂停当前async函数的执行直到Promise解决或拒绝然后继续执行后续的代码。在这个过程中JavaScript引擎可以处理其他任务比如事件监听、其他Promise的解决等因此它仍然是非阻塞的。
http://www.pierceye.com/news/279776/

相关文章:

  • 免费做链接的网站做动画相册在哪个网站好
  • 做思维导图好看的网站可以做富集分析的网站
  • wordpress 媒体库 cos百度网站怎样优化排名
  • 自助建站程序html样式模板
  • 公主岭网站建设筑梦网站建设
  • 昊源建设监理有限公司网站广州住房与城乡建设部网站
  • 如何免费建立自己网站wordpress媒体优化
  • 南京企业做网站网站建设的类型有几种
  • 不需要证件做网站相城区建设网站
  • 游戏推广网站如何做的全网投放广告的渠道有哪些
  • 飞数石家庄网站建设seo 关键词优化
  • 织梦新手网站建设建筑工程公司资质
  • 网站建设开什么名目外贸网站建设关键点
  • 大学生网站设计河南省建筑工程信息网
  • 安徽省住房和城乡建设厅网站首页wordpress评论框中加文字提示
  • 南京营销型网站建设公司杭州模板建站代理
  • 网页设计比较优秀的网站沈阳网站推广公司
  • 西安网站建设维护如何免费制作app软件
  • 用 net做网站大理市城乡建设局网站
  • 怎么在建筑网站做翻译兼职哈尔滨 高端网站建设
  • 网站建设颜色注意事项优化网站要怎么做
  • 作图神器沧州网站优化
  • 做水果的网站有哪些公司网页设计作品
  • 电子商务网站运营流程北京app制作
  • 怎么在百度推广自己的网站市级部门网站建设自评报告
  • 德州做网站优化专门做酒的网站
  • 旅游网站建设案例分析北京seo案例
  • 网站建设公司 优势单页网站对攻击的好处
  • 网站域名更换济南代做标书网站标志
  • 网站开发实用技术答案外国出名的设计网站