Nodejs让异步变成同步的方法
时间:2021-03-27 09:30:44|栏目: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('获取成功')
}
})
总结
上一篇:Node.js API详解之 timer模块用法实例分析
栏 目:NodeJS
本文标题:Nodejs让异步变成同步的方法
本文地址:http://www.codeinn.net/misctech/89087.html






