关于promise里 superagent 调用的问题
使用 promise 的时候 ,我想要 等 superagent 返回结果后再执行then函数,
代码简化成如下
var superagent=require('superagent')
var p1=function(a,b){
console.log(a+b)
return new Promise(function(resolve, reject) {
console.log('p1')
superagent.get('http://www.baidu.com').end(function(err,res){
if(err){
console.log('err1')
}else {
if(res.status==200){
console.log('sup1')
resolve(1);
}
}
})
});
}
var p2=function(c,d){
console.log(c+d)
return new Promise(function(resolve, reject) {
console.log('p2')
superagent.get('http://www.baidu.com').end(function(err,res){
if(err){
console.log('err2')
}else {
if(res.status==200){
console.log('sup2')
resolve(1);
}
}
})
});
}
p1(1,2).then(p2(10,20))
期望输出结果:
3
p1
sup1
30
p2
sup2
而实际输出结果是:
3
p1
30
p2
sup1
sup2
怎么样才能让函数按顺序执行 ,执行完p1函数后再执行p2 呢
求大神指导
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
最后一句改成p1(1,2).then(function(){p2(10,20)})