Javascript-can';t解决这个问题';警告:承诺是在处理程序中创建的';
在nodejs应用程序中使用sequelize.js,我有一个Javascript-can';t解决这个问题';警告:承诺是在处理程序中创建的';,javascript,node.js,sequelize.js,bluebird,Javascript,Node.js,Sequelize.js,Bluebird,在nodejs应用程序中使用sequelize.js,我有一个承诺。所有的都需要两个承诺(一个用户查询和一个颜色查询): 在显示//do stuff的部分,我的控制台不断向我发出以下警告: a promise was created in a handler at... but was not returned from it, see (URL that I can't post) at Function.Promise.attempt.Promise.try 我不知道如何解决这个问题。在
承诺。所有的都需要两个承诺(一个用户
查询和一个颜色
查询):
在显示//do stuff
的部分,我的控制台不断向我发出以下警告:
a promise was created in a handler at... but was not returned from it,
see (URL that I can't post) at Function.Promise.attempt.Promise.try
我不知道如何解决这个问题。在之后,我想,
承诺已经解决了吗?没有其他上下文,很难说,但也许你需要返回承诺。所有
return Promise.all([user, color])...
从这里的蓝鸟文档:
如果在//do stuff区域创建了任何其他承诺,请确保也返回这些承诺。您在
do stuff
上有什么代码?或者即使只有该注释也会导致相同的警告?另外,我不认为let user=user.findOne。。。etc
是你真正的代码,是吗?用户的重复声明不会有错误吗?既然user.findOne必须存在user.findOne才能工作,你怎么能让user=结果?一个处理程序
-这个处理程序
是什么错误?所以//do stuff
通常是res.send('success')
,或者res.send([result1,result2])
。。。。。至于处理程序
,我不知道这意味着什么。。。。。是的,让用户
不是我真正的代码。。。。。在我的例子中,我改变了它。在阅读蓝鸟文档时添加了额外的注释。祝你好运找到它!这听起来真的有一些地方需要回报。嘿,你是对的。根据链接文档,我的代码的内部需要一个return
语句。谢谢
return Promise.all([user, color])...