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教程之入门
Nov 21 NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 NodeJs
使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
Aug 21 NodeJs
NodeJS与HTML5相结合实现拖拽多个文件上传到服务器的实现方法
Jul 26 NodeJs
Nodejs中Express 常用中间件 body-parser 实现解析
May 22 NodeJs
详解Nodejs之npm&package.json
Jun 15 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 NodeJs
nodejs实现连接mongodb数据库的方法示例
Mar 15 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
nodejs读取图片返回给浏览器显示
Jul 25 NodeJs
nodejs语言实现验证码生成功能的示例代码
Oct 13 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几个预定义变量$_SERVER用法小结
2014/11/07 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
2012/01/15 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
2015/08/25 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
jquery插件uploadify多图上传功能实现代码
2016/08/12 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
整理关于Bootstrap过渡动画的慕课笔记
2017/03/29 Javascript
微信小程序实现上传图片功能
2018/05/28 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
vue组件开发之slider组件使用详解
2020/08/21 Javascript
使用简单工厂模式来进行Python的设计模式编程
2016/03/01 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python中协程用法代码详解
2018/02/10 Python
Django对数据库进行添加与更新的例子
2019/07/12 Python
Django+boostrap 美化admin后台的操作
2020/03/11 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
工业设计专业个人求职信范文
2013/12/28 职场文书
运动会广播稿50字
2014/01/26 职场文书
修理厂厂长岗位职责
2014/01/30 职场文书
网页美工求职信范文
2014/04/17 职场文书
老公给老婆的保证书
2014/04/28 职场文书
初二学生评语大全
2014/12/26 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
三好学生主要事迹材料
2015/11/03 职场文书