位置: 编程技术 - 正文

async/await与promise(nodejs中的异步操作问题)

编辑:rootadmin

推荐整理分享async/await与promise(nodejs中的异步操作问题),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

举例写文章详情页面的时候的一个场景:首先更改文章详情中的 PV,然后读取文章详情,然后根据文章详情中文章 Id 查阅该文章评论和该文章作者信息。获取全部数据之后渲染文章详情页。数据库操作都是异步的,最直接想到的办法就是一层一层的回调函数,问题出来了:十分不雅观,要是层再多一点还会有更多麻烦。怎么解决?业内为了处理异步操作问题也是拼了,什么async,q,bluebird,co,处理方式不同,各有千秋,感兴趣可以了解一下,但是惊喜的发现nodejs 7.6已经默认支持ES7中的 async/await 了,结合ES6中的 promise对象,用起来不亦乐乎的。

Async/await的主要益处是可以避免回调地狱(callback hell)问题。

基本概念:

async 表示这是一个async函数,await只能用在这个函数里面。

await 表示在这里等待promise返回结果了,再继续执行。

await 后面跟着的应该是一个promise对象(当然,其他返回值也没关系,不过那样就没有意义了…)

async/await与promise(nodejs中的异步操作问题)

举例:

获取返回值:

捕捉错误:

在循环中:

再循环中使用不需要闭包,每次循环会被阻塞。

最前面提到的场景:(综合使用)

以上所述是小编给大家介绍的async/await与promise(nodejs中的异步操作问题),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Node.js数据库操作之连接MySQL数据库(一) 介绍首先说来介绍一下MySQL(非广告)。MySQL是由瑞典的MySQLAB公司开发,后来被甲骨文公司收购。和Oracle一样,MySQL是一个典型的关系型数据库,在百度

Node.js数据库操作之查询MySQL数据库(二) 前言我们在上一篇文章《Node.js数据库操作之连接MySQL数据库(一)》中已经学习了Nodejs连接MySQL数据库的几种方法,数据库连接上了之后就需要对数据库

详解nodeJS中读写文件方法的区别 导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read,createReadSt

标签: async/await与promise(nodejs中的异步操作问题)

本文链接地址:https://www.jiuchutong.com/biancheng/376400.html 转载请保留说明!

上一篇:nodejs搭建本地服务器并访问文件的方法(nodejs搭建本地服务器运行html)

下一篇:Node.js数据库操作之连接MySQL数据库(一)(nodejs数据库数据渲染)

  • thinkphp分页实现效果(thinkphp 分页)

    thinkphp分页实现效果(thinkphp 分页)

  • 谈谈sqlserver自定义函数与存储过程的区别(sql自定义)

    加入一笔记录到表bankMoney,并查询此表中userID= Zhangsan的所有存款的总金额。

    在这里再??乱幌麓娲⒐?痰?种传回值(方便正在看这个例子的朋友不用再去查看语法内容):1.以Return传回整数2.以output格式传回参数3.Recordset

    传回值的区别:

    output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中。实例3:使用带有复杂 SELECT 语句的简单过程  下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。该存储过程不使用任何参数。

    实例4:使用带有参数的简单过程

    实例5:使用带有通配符参数的简单过程

    实例6:if...else存储过程,其中@case作为执行update的选择依据,用if...else实现执行时根据传入的参数执行不同的修改.

    深入分析SqlServer查询计划 对于SQLServer的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQ

    sql 判断字符串中是否包含数字和字母的方法 判断是否含有字母selectPATINDEX('%[A-Za-z]%',‘ads')=0(如果存在字母,结果1)判断是否含有数字PATINDEX('%[0-9]%',‘sdf" class="img-responsive" alt="谈谈sqlserver自定义函数与存储过程的区别(sql自定义)">

    谈谈sqlserver自定义函数与存储过程的区别(sql自定义)

  • mysql datetime查询异常问题解决(mysql查询时间语句)

    mysql datetime查询异常问题解决(mysql查询时间语句)

  • 系统安装上驱动后如何设置XP的桌面和安装相关应用程序(系统安装驱动卡住了)

    系统安装上驱动后如何设置XP的桌面和安装相关应用程序(系统安装驱动卡住了)

  • slserves.exe - slserves是什么进程

    slserves.exe - slserves是什么进程

  • linux shell (()) 双括号运算符使用 (linux shell !)

    linux shell (()) 双括号运算符使用 (linux shell !)

  • dd 参数使用(dpd参数)

    dd 参数使用(dpd参数)

  • [cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--游戏开始界面(cocos2dx 教程)

    [cocos2dx学习笔记]用cocos2dx3.X完成塔防游戏王国保卫战--游戏开始界面(cocos2dx 教程)

  • 深入理解JavaScript中的对象复制(Object Clone)(深入理解中国式现代化)

    深入理解JavaScript中的对象复制(Object Clone)(深入理解中国式现代化)

  • Javascript复制实例详解(js复制对象的方法有哪几种)

    Javascript复制实例详解(js复制对象的方法有哪几种)

  • 基于jquery编写分页插件(jquery教程 csdn)

    基于jquery编写分页插件(jquery教程 csdn)

  • 会费收入增值税申报
  • 保证人不承担责任(胜诉案例)
  • 银行应发贷款和实际收到的贷款为什么不一致
  • 开普票需要公对公转账吗
  • 公允价值变动损益影响营业利润吗
  • 公司买大米怎么做账
  • 维修企业主营项目有哪些
  • 银行汇票多余金额会计分录
  • 我们应该怎么做才能成功
  • 普通发票做账有什么用
  • 由于疏忽装修费用之前没有摊销应如何处理
  • 个人收到的国外短信
  • 非独立核算分公司个税怎么申报
  • 个体户要申报哪些报表
  • 小规模纳税人附加税减免政策2023
  • 网络技术服务费 税率
  • 淘宝的电子发票怎么看
  • 租房时,怎么替房东缴税?
  • 正确解读《非居民金融账户涉税信息尽职调查管理办法》
  • 注销往来怎么清理
  • 平销行为如何冲减进项税金
  • 企业购进固定资产进项税如何抵扣
  • 快递公司之间的合作模式
  • 房地产所得税税负率计算公式
  • 固定资产清理会计处理例题
  • 在建工程可以质押吗
  • 0x000000a5蓝屏代码是什么意思
  • win10重置此电脑的密码是什么
  • 给客户的贴息的会计处理
  • 免税出口样品收多少税
  • Linux中RedHat CentOS Ubuntu Fedora的区别详解
  • 浏览器备份文件在哪里
  • 出租厂房折旧可以税前扣除
  • 修改插入点闪烁光标的宽度
  • 极路由怎么用
  • 建筑工程企业管理费包括哪些内容
  • php通用分页类
  • 发票开具有误拒收后销售方如何处理?
  • codeigniter 教程
  • 已知税额和不含税额求税率
  • vue3.0配置
  • Java+JSP+Mysql+Tomcat实现Web图书管理系统
  • html动画教程
  • 营业税借方表示什么
  • 赔偿金需要交税么
  • 个体工商户注册需要什么材料
  • 小规模免增值税政策从什么时候开始
  • 普通发票密码区出格了能用吗
  • 企业之间的借款属于民间借贷吗
  • 个人工程款收入算是工资流水吗
  • sql server go语句
  • 工会经费申报的依据
  • 0税率可以抵扣进项税吗
  • 运输费用抵扣
  • sql2008使用教程
  • 普通发票开具的管理是?
  • 企业常用会计科目表及其解释
  • mysql中删除语句怎么写
  • 消防工程改造怎样入账
  • 小规模纳税人所得税怎么计算
  • 个体工商户怎么变更法人
  • 应付账款与应付票据结合的原则
  • 什么是预收账款的正常余额
  • 不同利益主体之间的利益如何协调
  • sp_executesql 使用复杂的Unicode 表达式错误的解决方法
  • SQL SELECT 语句的表连接
  • 苹果序列号查询
  • 电脑开机密码忘记了怎么打开
  • centos 安装chia
  • node js教程
  • cocos2dx引擎优化
  • dos 改名
  • js promises
  • unity spine换装
  • js 工作流
  • 怎么在开票系统导出开票明细
  • 车辆购置税如何入账
  • 税务局党支部党员大会会议记录
  • 怎样打印护士资格证
  • 2021年河南医保
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设