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中使用monk访问mongodb
Jul 06 NodeJs
抛弃Nginx使用nodejs做反向代理服务器
Jul 17 NodeJs
nodejs爬虫抓取数据之编码问题
Jul 03 NodeJs
nodejs初步体验篇
Nov 23 NodeJs
nodejs实现bigpipe异步加载页面方案
Jan 26 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
详解NODEJS基于FFMPEG视频推流测试
Nov 17 NodeJs
详解NodeJs开发微信公众号
May 25 NodeJs
关于NodeJS中的循环引用详解
Jul 23 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 NodeJs
Nodejs + Websocket 指定发送及群聊的实现
Jan 09 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
PHP文件上传实例详解!!!
2007/01/02 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
php在linux下检测mysql同步状态的方法
2015/01/15 PHP
PHP中COOKIES使用示例
2015/07/26 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
yii2 页面底部加载css和js的技巧
2016/04/21 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
jquery ready(fn)事件使用介绍
2013/08/21 Javascript
js为数字添加逗号并格式化数字的代码
2013/08/23 Javascript
JAVA四种基本排序方法实例总结
2015/07/24 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
jquery判断对象是否为空并遍历对象的简单实例
2016/07/26 Javascript
浅谈js中对象的使用
2016/08/11 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
Koa2微信公众号开发之本地开发调试环境搭建
2018/05/16 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
Python中的defaultdict模块和namedtuple模块的简单入门指南
2015/04/01 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Python 实现加密过的PDF文件转WORD格式
2020/02/04 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
毕业生实习鉴定
2013/12/11 职场文书
客户表扬信范文
2014/01/10 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
活动总结模板
2014/05/09 职场文书
医院领导班子四风对照检查材料
2014/09/27 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
2015年化工厂工作总结
2015/05/04 职场文书