异步给我们带来的性能是明显的,但同时也给我们带了复杂的业务逻辑过程,特别请求依赖多的时候,下面我们来看看如何解决此类这样的问题。
使用方法
在这里我们信赖于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('获取成功')
}
})
总结
Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务