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

有好看图片的软件网站模板东莞专业网络营销公司

有好看图片的软件网站模板,东莞专业网络营销公司,宿迁网站建设与管理,做网站公司济南1. 什么是 Promise#xff1f; Promise 是 JavaScript 中处理异步操作的一种机制#xff0c;它可以让异步操作更加容易管理和控制。Promise 对象代表一个异步操作的最终完成或失败#xff0c;并提供了一种方式来处理操作的结果。 2. Promise 的基本语法 Promise 对象有三…1. 什么是 Promise Promise 是 JavaScript 中处理异步操作的一种机制它可以让异步操作更加容易管理和控制。Promise 对象代表一个异步操作的最终完成或失败并提供了一种方式来处理操作的结果。 2. Promise 的基本语法 Promise 对象有三种状态 Pending进行中初始状态既不是成功也不是失败。Fulfilled成功操作成功完成。Rejected失败操作失败。 改变Promise状态Promise对象的状态改变只有两种可能从pending变为fulfilled和从pending变为rejected。状态一旦改变就不会再变也就是说Promise对象的状态改变是单向的。 Promise 的基本语法如下 // 实例化promise对象 const promise new Promise((resolve, reject) {// 异步操作if (/* 异步操作成功 */) {resolve(value); // 将Promise对象的状态从“pending”变为“fulfilled”同时将异步操作的结果作为回调函数的参数} else {reject(reason); // 将Promise对象的状态从“pending”变为“rejected”同时将异步操作报出的错误作为回调函数的参数} });promise.then(value {// 成功时的回调函数即当Promise的状态变为fulfilled时调用 }, reason {// 失败时的回调函数即当Promise的状态变为rejected时调用 });// 例如 //实例化 Promise 对象 const p new Promise(function(resolve, reject){setTimeout(function(){//// let data 数据库中的用户数据;// resolve// resolve(data);let err 数据读取失败;reject(err);}, 1000); });//调用 promise 对象的 then 方法 p.then(function(value){console.log(value); }, function(reason){console.error(reason); })3.Promise的then方法 const p new Promise((resolve, reject) {setTimeout((){resolve(用户数据);}) });//then函数返回的实际也是一个Promise对象 //1.当回调后返回的是非Promise类型的属性时状态为fulfilledthen函数的返回值为对象的成功值如reutnr 123返回的Promise对象值为123如果没有返回值是undefined//2.当回调后返回的是Promise类型的对象时then函数的返回值为这个Promise对象的状态值//3.当回调后如果抛出的异常则then函数的返回值状态也是rejected let result p.then(value {console.log(value)// return 123;// return new Promise((resolve, reject) {// resolve(ok)// })throw 123 },reason {console.log(reason) }) console.log(result);4. Promise的catch方法 catch函数只有一个回调函数意味着如果Promise对象状态为失败就会调用catch方法并且调用回调函数 const p new Promise((resolve, reject){setTimeout((){//设置 p 对象的状态为失败, 并设置失败的值reject(出错啦!);}, 1000) });// p.then(function(value){}, function(reason){ // console.error(reason); // });p.catch(function(reason){console.warn(reason); });5. Promise 的实践 5.1 读取单个文件 使用 Promise 封装读取文件的操作 // 引入 fs 模块 const fs require(fs);// 使用 Promise 封装 const p new Promise(function(resolve, reject){fs.readFile(./resources/为学.md, (err, data){// 判断如果失败if(err) reject(err);// 如果成功resolve(data);}); });p.then(function(value){console.log(value.toString()); }, function(reason){console.log(读取失败!!); });5.2 读取多个文件 使用 Promise 链式调用读取多个文件 // 引入 fs 模块 const fs require(fs);// 使用 promise 实现 const p new Promise((resolve, reject) {fs.readFile(./resources/为学.md, (err, data) {resolve(data);}); });p.then(value {return new Promise((resolve, reject) {fs.readFile(./resources/插秧诗.md, (err, data) {resolve([value, data]);});}); }).then(value {return new Promise((resolve, reject) {fs.readFile(./resources/观书有感.md, (err, data) {// 压入value.push(data);resolve(value);});}) }).then(value {console.log(value.join(\r\n)); });6.promise封装Ajax function ajax(url) {return new Promise((resolve, reject) {const xhr new XMLHttpRequest();xhr.open(GET, url);xhr.onreadystatechange function() {if (xhr.readyState 4) {if (xhr.status 200 xhr.status 300) {resolve(xhr.responseText);} else {reject(new Error(xhr.statusText));}}};xhr.send();}); }// 使用封装好的函数发送 AJAX 请求 ajax(https://api.example.com/data).then(data {console.log(data);}).catch(error {console.error(error);});7. Promise.all() Promise.all 方法用于将多个 Promise 实例包装成一个新的 Promise 实例。 let promise1 Promise.resolve(3); let promise2 42; let promise3 new Promise((resolve, reject) {setTimeout(resolve, 100, foo); });Promise.all([promise1, promise2, promise3]).then((values) {console.log(values); }); // 输出: [3, 42, foo]8. Promise.race Promise.race 方法用于将多个 Promise 实例包装成一个新的 Promise 实例并以数组中第一个完成的 Promise 实例的结果值作为返回结果。 let promise1 new Promise((resolve, reject) {setTimeout(resolve, 500, one); });let promise2 new Promise((resolve, reject) {setTimeout(resolve, 100, two); });Promise.race([promise1, promise2]).then((value) {console.log(value);// two —— 因为它比 promise1 完成得快 });9. 总结 Promise 是 JavaScript 中处理异步操作的一种强大机制它可以让异步操作更加容易管理和控制。通过封装异步操作可以避免回调地狱使代码更加清晰和易于维护。
文章转载自:
http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn
http://www.morning.ychrn.cn.gov.cn.ychrn.cn
http://www.morning.wkrkb.cn.gov.cn.wkrkb.cn
http://www.morning.zsgbt.cn.gov.cn.zsgbt.cn
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.nkjjp.cn.gov.cn.nkjjp.cn
http://www.morning.pjjkz.cn.gov.cn.pjjkz.cn
http://www.morning.xpgwz.cn.gov.cn.xpgwz.cn
http://www.morning.tplht.cn.gov.cn.tplht.cn
http://www.morning.brwwr.cn.gov.cn.brwwr.cn
http://www.morning.zztmk.cn.gov.cn.zztmk.cn
http://www.morning.routalr.cn.gov.cn.routalr.cn
http://www.morning.klrpm.cn.gov.cn.klrpm.cn
http://www.morning.tgfsr.cn.gov.cn.tgfsr.cn
http://www.morning.dnqpq.cn.gov.cn.dnqpq.cn
http://www.morning.xjbtb.cn.gov.cn.xjbtb.cn
http://www.morning.djlxz.cn.gov.cn.djlxz.cn
http://www.morning.pqbkk.cn.gov.cn.pqbkk.cn
http://www.morning.yksf.cn.gov.cn.yksf.cn
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.wgqtt.cn.gov.cn.wgqtt.cn
http://www.morning.nwwzc.cn.gov.cn.nwwzc.cn
http://www.morning.zympx.cn.gov.cn.zympx.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.rynq.cn.gov.cn.rynq.cn
http://www.morning.rwfp.cn.gov.cn.rwfp.cn
http://www.morning.qykxj.cn.gov.cn.qykxj.cn
http://www.morning.mhmsn.cn.gov.cn.mhmsn.cn
http://www.morning.sjbpg.cn.gov.cn.sjbpg.cn
http://www.morning.tjcgl.cn.gov.cn.tjcgl.cn
http://www.morning.rhpgk.cn.gov.cn.rhpgk.cn
http://www.morning.5-73.com.gov.cn.5-73.com
http://www.morning.qwdlj.cn.gov.cn.qwdlj.cn
http://www.morning.xbckm.cn.gov.cn.xbckm.cn
http://www.morning.mpsnb.cn.gov.cn.mpsnb.cn
http://www.morning.supera.com.cn.gov.cn.supera.com.cn
http://www.morning.lqlfj.cn.gov.cn.lqlfj.cn
http://www.morning.tldhq.cn.gov.cn.tldhq.cn
http://www.morning.kpcky.cn.gov.cn.kpcky.cn
http://www.morning.zhnpj.cn.gov.cn.zhnpj.cn
http://www.morning.bwmm.cn.gov.cn.bwmm.cn
http://www.morning.wqngt.cn.gov.cn.wqngt.cn
http://www.morning.ypxyl.cn.gov.cn.ypxyl.cn
http://www.morning.gkjnz.cn.gov.cn.gkjnz.cn
http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn
http://www.morning.tkcz.cn.gov.cn.tkcz.cn
http://www.morning.mjats.com.gov.cn.mjats.com
http://www.morning.lffrh.cn.gov.cn.lffrh.cn
http://www.morning.lsgsn.cn.gov.cn.lsgsn.cn
http://www.morning.duckgpt.cn.gov.cn.duckgpt.cn
http://www.morning.dpflt.cn.gov.cn.dpflt.cn
http://www.morning.nfmtl.cn.gov.cn.nfmtl.cn
http://www.morning.ymyhg.cn.gov.cn.ymyhg.cn
http://www.morning.wfbs.cn.gov.cn.wfbs.cn
http://www.morning.ktlfb.cn.gov.cn.ktlfb.cn
http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn
http://www.morning.wmyqw.com.gov.cn.wmyqw.com
http://www.morning.jypqx.cn.gov.cn.jypqx.cn
http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn
http://www.morning.ndcf.cn.gov.cn.ndcf.cn
http://www.morning.spsqr.cn.gov.cn.spsqr.cn
http://www.morning.dbsch.cn.gov.cn.dbsch.cn
http://www.morning.znrlg.cn.gov.cn.znrlg.cn
http://www.morning.rwls.cn.gov.cn.rwls.cn
http://www.morning.wrdlf.cn.gov.cn.wrdlf.cn
http://www.morning.kczkq.cn.gov.cn.kczkq.cn
http://www.morning.ctswj.cn.gov.cn.ctswj.cn
http://www.morning.iiunion.com.gov.cn.iiunion.com
http://www.morning.jfqpc.cn.gov.cn.jfqpc.cn
http://www.morning.mxmzl.cn.gov.cn.mxmzl.cn
http://www.morning.phxns.cn.gov.cn.phxns.cn
http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn
http://www.morning.zdxss.cn.gov.cn.zdxss.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.ykmkz.cn.gov.cn.ykmkz.cn
http://www.morning.gbrdx.cn.gov.cn.gbrdx.cn
http://www.morning.qjzgj.cn.gov.cn.qjzgj.cn
http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn
http://www.tj-hxxt.cn/news/250025.html

相关文章:

  • 深圳市网站备案需求那家公司装修比较好
  • 网站开发的技术支持wordpress链接尾缀
  • 南昌网站seo技术厂家源码下载网站有哪些
  • 网站开发需求分析报告站长百度
  • 中煤建设集团网站兴宁市网站建设
  • 山东专业网站建设公司企业网站排名运营
  • 通过音乐做网站外链网页设计代码写入文字
  • 备案时网站名称怎么写全景网站开发
  • 个人网站优秀案例大庆网站建设公司哪家好
  • 网站开发公司团队优势厦门seo推广优化
  • 古装摄影网站建设方案专业企业展馆展厅设计
  • 好吊顶网站企业端app下载
  • 在线网站建设者wordpress文章形式
  • 洛阳seo网站网站描述标签怎么写
  • 怎样网站建设简答题网站建设步骤
  • 建设库平台seo竞价推广
  • 网站建设兼职劳务协议做一个wordpress模板
  • 西宁哪里做网站wordpress 文章底部
  • 网站推广方式方法网站名申请
  • 许昌市做网站公司网站建设对于企业的必要性
  • 郑州网站建设维护做推广的网站需要注意什么
  • 青少年思想道德建设网站广东省做网站推广公司
  • 免费最好网站建设网站开发公司合作协议书
  • 网站系统开发方式wordpress调用标题
  • 做网站需要机吗360建设网站免费
  • 无锡 学校网站建设uc浏览器网页版入口
  • 小型网站设计网站cms系统 开源
  • 连云港网站备案在哪环保网站建设维护情况报告
  • 适合前端做项目的网站软件开发流程设计
  • 预约网站如何自己做网站建设丨金手指谷哥12