异步给我们带来的性能是明显的,但同时也给我们带了复杂的业务逻辑过程,特别请求依赖
异步给我们带来的性能是明显的,但同时也给我们带了复杂的业务逻辑过程,特别请求依赖多的时候,下面我们来看看如何解决此类这样的问题。
使用方法
在这里我们信赖于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让异步变成同步的方法