Promise嵌套
发布于 2 个月前 作者 bensonlove 668 次浏览 来自 问答
return new Promise().then(function(res) {
			if (!res) {
				return new Promise().then(function(items) {
					if (!items) { 
						return new Promise().then(function(data) {
							return data;
						});
					}
					return items;
				});
			}
			return  res;;
})

请问上述Promise嵌套如何处理

7 回复
return new Promise()
  .then(function (res) {
  	if (res) {
		return res;
	}
	return new Promise();
  })
  .then(function (items) {
  	if (items) {
		return items;
	}
	return new Promise();
  })
  .then(function (data) {
  	return data;
  })

@pauky 在第二个then方法中 如何知道items 是来自于上一个返回的res 还是 promise 从而做不同的处理呢

return 到下一个 then 里面接住,继续操作,不要嵌套

@bensonlove 可以在返回的res加一个属性来跟promise返回的区分

幽默,Promise就是解决嵌套的

@bensonlove return 的时候 return 一个 obj 呗

mogoose的查询方法怎么实现链式操作??比如: var Article = mongoose.model(‘Article’); var User = mongoose.model(‘User’); Article.findOne({name:req.body.name},function(err,article){ User.find({name:article.author},function(err,user){//通过用户名查找用户 …//多个回调最后一层回调中操作 res.redirect("/) }) })

回到顶部