网站首页 > 博客文章 正文
本节内容promise的基础理解很重要,es6新特征,和接口交互必备知识点。
es6和node.js基础实战系列,需要一定的js基础,动手实际操作一下会加强理解。现在衍生的很多前端技术都是围绕node.js生态发展,掌握es6,node.js基础知识,才可以继续入门vue.js,element-ui,antd-vue等前端框架。
pre标签里是笔记总结,再坚持一下,前端知识的大门就会打开了。有疑问留言交流哦。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <pre> promise异步回调 用法理解: 通过下面案例可以看出,promise可以完成顺序执行业务中的多层回调. 可以和ajax多接口调用时候形成的回调嵌套写法比对,可以看出promise异步调用的优势(解决回调地狱) //方法和回调链式写法 箭头函数代替匿名函数 //需要顺序执行异步接口业务模拟 const p2 = new Promise((resolve, reject) => { //业务1 var i = new Date(); resolve(i.toDateString()); }).then(function (data) { //业务2依赖业务1数据,所以这里是上个业务处理的回调 console.log("data:回调第1次", data); //return ("v2 " + data) 等同于 下面写法 return Promise.resolve(("v2 " + data)); }).then(function (data) { //业务3依赖业务2数据,所以这里是上个业务处理的回调 console.log("data:回调第2次", data); //throw '业务3发生异常' //return ("v3 " + data) 等同于 下面写法 return Promise.resolve(("v3 " + data)); }).then(function (data) { console.log("data:回调第3次", data); return ("v4 " + data) }).catch(function (err) { //拦截全程业务中异常 console.log("catch error:", err) }) </pre> </body> <script type="application/javascript"> //方法和回调分开 const p1 = new Promise(function (resolve, reject) { //发现resolve就返回一个成功状态的promise,用then回调 resolve('success1 '); throw 'error'; }); //这里then或catch只有一个可以执行 p1.then(function (data) { console.log(data) }); p1.catch(function (err) { console.log(err) }); //end //方法和回调链式写法 箭头函数代替匿名函数 //需要顺序执行异步接口业务模拟 const p2 = new Promise((resolve, reject) => { //业务1 var i = new Date(); resolve(i.toDateString()); }).then(function (data) { //业务2依赖业务1数据,所以这里是上个业务处理的回调 console.log("data:回调第1次", data); //return ("v2 " + data) 等同于 下面写法 return Promise.resolve(("v2 " + data)); }).then(function (data) { //业务3依赖业务2数据,所以这里是上个业务处理的回调 console.log("data:回调第2次", data); //throw '业务3发生异常' //return ("v3 " + data) 等同于 下面写法 return Promise.resolve(("v3 " + data)); }).then(function (data) { console.log("data:回调第3次", data); return ("v4 " + data) }).catch(function (err) { //拦截全程业务中异常 console.log("catch error:", err) }) </script> </html>
- 上一篇: Vue实战088:简单的验证码倒计时功能实现
- 下一篇: vue进阶(vue进阶知识点)
猜你喜欢
- 2024-09-26 Vue3全新的前端构建工具vite学习(前端vue项目开发流程及架构)
- 2024-09-26 Vue核心知识:8.5如何在vuex中使用异步修改?推荐行为触发action
- 2024-09-26 Vue.nextTick 的工作机制(vue中nexttick原理)
- 2024-09-26 ES6(四)用Promise封装一下IndexedDB
- 2024-09-26 Vue项目处理错误上报如此简单(vue项目中遇到的问题,你是怎么解决)
- 2024-09-26 Vue开发:通过异步的方式加载vue组件
- 2024-09-26 Vue.js项目模板搭建(vue.js环境搭建)
- 2024-09-26 vue.js深入篇(一、响应式原理)(vue响应式源码解析)
- 2024-09-26 Vue中的nextTick方法是用来做什么的?
- 2024-09-26 Vue - 简单实现一个命令式弹窗组件
你 发表评论:
欢迎- 最近发表
-
- 给3D Slicer添加Python第三方插件库
- Python自动化——pytest常用插件详解
- Pycharm下安装MicroPython Tools插件(ESP32开发板)
- IntelliJ IDEA 2025.1.3 发布(idea 2020)
- IDEA+Continue插件+DeepSeek:开发者效率飙升的「三体组合」!
- Cursor:提升Python开发效率的必备IDE及插件安装指南
- 日本旅行时想借厕所、买香烟怎么办?便利商店里能解决大问题!
- 11天!日本史上最长黄金周来了!旅游万金句总结!
- 北川景子&DAIGO缘定1.11 召开记者会宣布结婚
- PIKO‘PPAP’ 洗脑歌登上美国告示牌
- 标签列表
-
- ifneq (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)