我理解的 js 异步成长总结
本文是自己的理解,如果有错误的地方,还请各路大神指出
首先说下我最常用的 Promise
getHandlePickupQrPromise() {// 定义返回 Promise对象// Promise接收一个回调函数 (success,error)=>{} return new Promise((resolve, reject) => {getPickupQr({str: JSON.stringify({ type: "order_consume", order_id: this.orderId })})((err, res) => {if (err) {// 出现错误回调 抛出 并返回错误信息 reject(err);} else {if (res.data.errno === 0) {// 返回成功回调 抛出 并返回成功数据 resolve(res.data.data.base64);} else {reject(new Error(res.data.errmsg));}}});}); }getHandlePickupQrPromise().then((base64) => {// .then 成功的回调,参数是一个回调函数,用来执行拿到成功数据做之后的处理 console.log(base64) }).catch((err) => {// .catch 失败的回调,参数是一个回调函数,用来执行拿到失败数据做之后的处理 console.log(err) });
ES7 async await
// async 定义的函数会返回一个promise对象 async function test() {return 123; }test().then(val => {console.log(val);// 123 });
实例
let initPromise = () => {return new Promise((resolve, reject) => {setTimeout(() => {reject("success")}, 3 * 1000);}) }//async 必须包含 await 或者理解 await 必须出现在 async 函数内部,不能单独使用。 async function init() {//await 后面可以跟任何的JS 表达式// await 如果没有返回结果就不会继续走下面的 if elselet data = await initPromise().catch(err => {// catch 出现错误的值 做接受到错误的处理 console.log(err)})if (data) {console.log("有值了")} else {console.log(data)} } init()
本人才疏学浅,如有不对的地方,还望大神指点一二
转载于:https://www.cnblogs.com/BeautifulBoy/p/9862240.html
我理解的 js 异步成长总结相关推荐
- js 异步执行_js执行过程你了解多少?
来公众号:「九零后重庆崽儿」找我,一起学前端. 本文首发在: js执行过程你了解多少? - 重庆崽儿brand的个人主页www.brandhuang.com 文章自己整理自网络,如有问题欢迎在知乎或 ...
- 理解JS异步编程(一)
js是单线程的.按照这个理解的话,js在执行代码时,代码将顺序执行,上一句代码执行完才能执行下一句代码. 完全顺序执行的问题:如果上一句代码执行时间很长,下一句代码还是要等待上面的执行完毕才可执行,这 ...
- linux进程退出所有tcp数据才发送,深入理解Node.js 进程与线程(8000长文彻底搞懂)...
前言 进程与线程是一个程序员的必知概念,面试经常被问及,但是一些文章内容只是讲讲理论知识,可能一些小伙伴并没有真的理解,在实际开发中应用也比较少.本篇文章除了介绍概念,通过Node.js 的角度讲解进 ...
- JS异步编程之callback
为什么 JS 是单线程? 众所周知,Javascript 语言的执行环境是"单线程"(single thread). 所谓"单线程",就是指一次只能完成一件任务 ...
- JS异步模式与Promise模式
JS异步模式与Promise模式 - 转 引子 异步模式在web编程中变得越来越重要,对于web主流语言Javascript来说,这种模式实现起来不是很利索,为此,许多Javascript库(比如 j ...
- promise 浏览器实现的源码_【大前端01-01】函数式编程与JS异步编程、手写Promise...
[简答题]一.谈谈你是如何理解JS异步编程的,EventLoop.消息队列都是做什么的,什么是宏任务.什么是微任务? 如何理解JS异步编程 众所周知JavaScript语言执行环境是"单线程 ...
- JS 异步编程及常考面试题
JS 异步编程及常考面试题 并发(concurrency)和并行(parallelism)区别 涉及面试题:并发与并行的区别? 异步和这小节的知识点其实并不是一个概念,但是这两个名词确实是很多人都常会 ...
- js 异步执行_JS Asynchronous — JS 异步编程极简史
Asynchronous JS 异步编程极简史,这个故事网上已经很多人有了自己的讲述. Event Loop 解释了 Node.js 为何以及如何实现单线程服务模型和 Event Loop.对于 JS ...
- js 异步执行_JS异步执行机制——事件循环(Event Loop)
JS异步执行机制--事件循环(Event Loop) 本文首发地址: 前端基础 | JS异步执行机制--事件循环(Event Loop)www.brandhuang.com 先祭出一段代码,你清楚它 ...
最新文章
- OpenCV在Linux下的编译安装(Ubuntu )
- 匿名函数的this指向为什么是window?
- oracle冷备份 代码,Oracle冷备份和恢复自动产生sql源代码
- 判断一组多选框至少有一个被选中_想不想拥有自己的篆刻印章?那就PS一个吧...
- jQuery中的几个模块总结
- 把变量赋值给寄存器_散装 vs 批发谁效率高?变量访问被ARM架构安排的明明白白...
- alloca函数的风险_alloca的函数范围中的goto是否有效?
- c语言程序设计数据存储方案,c语言程序设计“第02章数据的存储及运算.ppt
- FILEUTILS 介绍
- mid php,mid是什么格式的文件
- java 中高级面试题_Java中高级面试题
- 深度学习中的深度是指什么_什么是深度学习
- android 悬浮球简书,Android-悬浮窗效果FloatingView
- 【转发】相似性度量学习及其在计算机视觉中的应用
- mysql 性能优化方向
- [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)EHCache版本
- NOIP2008 ISBN号码(一桶水)【A005】
- 为html添加footbar,foobar2000界面组件添加设置方法
- Aura component cache clear set
- ICT的圣杯(二):数字生活的另类想象
热门文章
- 计算机图形学真实绘图实验报告,计算机图形学实验报告.doc
- 计算机组成原理作业1王诚,计算机组成原理 王诚 董长洪 宋佳兴
- 万年历插件软件测试,万年历软件测试报告
- java excel读取操作,Java读取Excel并操作
- 网络推广公司网站该如何针对主页的优化工作?
- 网络推广——网络推广专员面对网站收录异常要学会多角度分析
- 动态规划走楼梯_动态规划问题为什么要画表格?
- c 语言 循环队列,循环队列C语言
- java 找不到工程文件_类加载器找不到文件求帮助
- 光滑噪声数据常用的方法_九大常用数据分析方法汇总