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

美食网站要怎么做游戏优化大师下载安装

美食网站要怎么做,游戏优化大师下载安装,智慧团建官网手机版登录,医疗设计网站文章目录 前言一、关于 Promise 的理解与使用1.相关知识补充区别实例对象和函数对象同步回调异步回调Js中的错误#xff08;error#xff09;和错误处理 2.promise是什么 二、Promise 原理三、Promise 封装 Ajax四、async 与 await总结 前言 在项目中#xff0c;promise的使… 文章目录 前言一、关于 Promise 的理解与使用1.相关知识补充区别实例对象和函数对象同步回调异步回调Js中的错误error和错误处理 2.promise是什么 二、Promise 原理三、Promise 封装 Ajax四、async 与 await总结 前言 在项目中promise的使用是必不可少的本文主要记录了异步编程中promiseasync 与 await相关知识。 一、关于 Promise 的理解与使用 1.相关知识补充 区别实例对象和函数对象 实例对象通过 new 创建的对象称实例对象。函数对象将函数作为对象使用时简称函数对象。 同步回调 立即执行全部执行完了才结束不放入回调队列中。如数组遍历相关的回调函数promise的excutor函数new Promise(executor) 异步回调 不会立即执行会放入回调队列中以后执行。如定时器回调、Ajax回调、promise 的成功/失败回调。 Js中的错误error和错误处理 1.错误类型 Error所有错误的父类型ReferenceError引用的变量不存在TypeError数据类型不正确RangeError数据值不在其所允许的范围内SyntacticError语法错误 2.错误处理 捕获错误try{ } catch(){ }抛出错误throw error 3.错误对象 message 属性错误相关信息stack属性记录信息 2.promise是什么 1.简介 promise 是一个ES6语法专门用来解决异步 回调地狱 的问题。promise 规范规定了一种异步编程解决方案的API。规范规定了promise对象的状态和then方法。promise 是一个内置的构造函数是程序员自己new 调用的。promise 对象用来封装一个异步操作并可以获取其成功/失败的结果值。 回调地狱 当一个回调函数嵌套一个回调函数的时候出现一个嵌套结构嵌套多了就会出现回调地狱的情况。 2.语法 Promise.prototype.then 方法new Promise(executor) 构造函数new Promise的时候传入一个回调函数它是同步的回调会立即在主线程上执行称为executor函数executor 会接收两个参数resolve, reject 1调用 resolve会让promise实例状态变为成功(fulfilled),同时可以指定成功的 value。 2调用 reject会让promise实例状态变为失败rejected同时可以指定失败的 reason const p new Promise((resolve, reject) {resolve(ok)}) console.log(,p)//demo一般不在控制台输出一个 Promise 必然处于以下几种状态之一 pending初始状态既没有被兑现也没有被拒绝。fulfilled意味着操作成功完成。rejected意味着操作失败。 const p new Promise((resolve, reject) {setTimeout(() {rejected(test错误信息)resolve(test成功数据);}, 1000); });p.then(data console.log(成功, resolve, data),//成功data console.log(失败, reject, data)//失败 );// 执行结果 1s后打印 成功 resolve test成功数据二、Promise 原理 -Promise 对象被创建时它处于 pending 状态。当异步操作成功完成时它变为 fulfilled 状态当异步操作失败时它变为 rejected 状态。而且一旦状态改变就不能再改变。 当其中任意一种情况发生时通过 Promise 的 then 方法串联的处理程序将被调用。如果绑定相应处理程序时 Promise 已经兑现或拒绝这处理程序将被立即调用因此在异步操作完成和绑定处理程序之间不存在竞态条件。 如果一个 Promise 已经被兑现或拒绝即不再处于待定状态那么则称之为已敲定settled。 Promise 提供了统一的 API 各种异步操作都可以用同样的方法进行处理。这使得代码更加简洁和易于理解。 三、Promise 封装 Ajax function fetchData(url) { return new Promise((resolve, reject) { // 创建一个 XMLHttpRequest 对象 let xhr new XMLHttpRequest(); // 监听请求完成事件 xhr.addEventListener(load, function() { if (xhr.status 200) { // 请求成功 // 将返回的数据作为 Promise 的结果 resolve(xhr.responseText); } else { // 请求失败 // 将错误信息作为 Promise 的结果 reject(new Error(Request failed with status ${xhr.status})); } }); // 监听请求错误事件 xhr.addEventListener(error, function() { reject(new Error(Request failed)); }); // 发送请求 xhr.open(GET, url, true); xhr.send(); }); }四、async 与 await Promise虽然解决了回调地狱问题但是缺点是有不少的样板代码并且写代码时候还是通过then注册回调方式 async、await是语法糖async 和 await 关键字让我们可以用一种更简洁的方式写出基于 Promise 的异步行为。 总结 promise 常用语法Promise.prototype.then、new Promise(executor)promise 三种状态pending、resolve、 reject
http://www.zqtcl.cn/news/753054/

相关文章:

  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程
  • miit网站备案济南哪里做网站
  • 做网站软件的公司前端优化
  • 哪个网站有做形象墙汉沽网站建设制作
  • 网站alexa排名查询免费发帖的平台有哪些
  • 德国网站后缀濮阳房产网站建设
  • 漕泾网站建设做网站php语言用什么工具
  • 专业营销的网站建设公司哪家好专门做二手书的网站
  • 建新网站开发流程图电子商务网站开发综合实训报告
  • 临汾网站建设销售长沙网站建设1681989
  • 最近国内外重大新闻事件贺贵江seo教程
  • 网站开发源码网站运营建设方案
  • 网站建设公司 跨界鱼科技专业简述网站的制作步骤
  • 手机网站cms网站优化推广哪家好
  • 网站被k换域名qq空间 wordpress
  • 网站模板种类昆明cms建站模板
  • wordpress em企业网站做seo的优势
  • 设计师做私单网站全球最大的电商平台
  • 外贸联系网站wordpress 优惠券 插件
  • 公司网站开发费用兴田德润官方网站深圳百度快照优化
  • 做网站需要备案么行业网站策划
  • 去年做啥网站能致富周口seo推广
  • 主体负责人电话修改 网站备案什么样算网站需要备案
  • 网站建站免费空间外贸网站建设与优化
  • 网站极简设计建立网站基本知识
  • 网站建设管理标准wordpress rss采集
  • 乐清网站建设费用装修房子的app软件哪个好
  • 专业网站搭建运营工业网站素材