Nodejs让异步变成同步的方法


Posted in NodeJs onMarch 02, 2019

异步给我们带来的性能是明显的,但同时也给我们带了复杂的业务逻辑过程,特别请求依赖多的时候,下面我们来看看如何解决此类这样的问题。

Nodejs让异步变成同步的方法

使用方法

在这里我们信赖于co这个库。

npm install co --save
#or 
yarn add co

模拟

# 登录请求
let loginReq = new Promise((resolve,reject)=>{
  setTimeout(function () {
    resolve({success:true})
  },2000)
});
# 获取用户信息
let userInfoReq = new Promise((resolve,reject)=>{
  setTimeout(function () {
    resolve({nickName:'dounine'})
  },2000)
});
# 异步处理过程
loginReq.then(res=>{
 if(res.success){
  userInfoReq.then(userInfo=>{
   console.log('获取成功')
   ## 如果还有信赖,需要继续写,还没有逻辑业务参与
  })
 }
})
# 同步处理过程
co(function *(){
 let loginInfo = yield loginReq;
 if(loginInfo.success){
  let userInfo = yield userInfoReq;
  console.log('获取成功')
 }
})

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

NodeJs 相关文章推荐
nodejs 提示‘xxx’ 不是内部或外部命令解决方法
Nov 20 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
NodeJS学习笔记之Module的简介
Mar 24 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
关于Mac下安装nodejs、npm和cnpm的教程
Apr 11 NodeJs
nodejs 如何手动实现服务器
Aug 20 NodeJs
详解webpack打包nodejs项目(前端代码)
Sep 19 NodeJs
基于nodejs的雪碧图制作工具的示例代码
Nov 05 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
nodejs中各种加密算法的实现详解
Jul 11 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 NodeJs
nodejs使用async模块同步执行的方法
Mar 02 #NodeJs
NodeJS实现同步的方法
Mar 02 #NodeJs
PHPStorm中如何对nodejs项目进行单元测试详解
Feb 28 #NodeJs
Nodejs对postgresql基本操作的封装方法
Feb 20 #NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 #NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 #NodeJs
基于Koa(nodejs框架)对json文件进行增删改查的示例代码
Feb 02 #NodeJs
You might like
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
通过PHP设置BugFree获取邮箱通知
2019/04/25 PHP
JavaScript 替换Html标签实现代码
2009/10/14 Javascript
Javascript异步表单提交,图片上传,兼容异步模拟ajax技术
2010/05/10 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
2013/04/01 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
javascript如何实现360度全景照片问题汇总
2016/04/04 Javascript
简介BootStrap model弹出框的使用
2016/04/27 Javascript
浅析js的模块化编写 require.js
2016/12/07 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
2019/03/28 Javascript
Javascript节流函数throttle和防抖函数debounce
2020/12/03 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
Python监控主机是否存活并以邮件报警
2015/09/22 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python字符串split及rsplit方法原理详解
2020/06/29 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
matplotlib bar()实现百分比堆积柱状图
2021/02/24 Python
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
Linux文件系统类型
2012/09/16 面试题
幼儿园大班教学反思
2014/02/10 职场文书
经贸日语专业个人求职信范文
2014/04/29 职场文书
读书月活动方案
2014/05/22 职场文书
中职毕业生自我鉴定
2014/09/13 职场文书
运动会报道稿300字
2014/10/02 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
百日宴上的祝酒词
2015/08/10 职场文书