Javascript try块中未处理的承诺拒绝

Javascript try块中未处理的承诺拒绝,javascript,node.js,express,promise,Javascript,Node.js,Express,Promise,我很难理解为什么下面的代码会抛出未处理的承诺拒绝警告: 错误发生多次,这是由以下事实引起的:at line const infoStudentiPromise = Promise.all( Studenti.getInfoStudentiById(await idStudentiResults) ) idStudentiResults alredy返回一个承诺。all() 关于导致错误的原因,我想知道为什么它说错误没有得到处理。试一试不成功吗 承诺。所有都需要接收一个承诺数组作为参数。确保M

我很难理解为什么下面的代码会抛出未处理的承诺拒绝警告:

错误发生多次,这是由以下事实引起的:at line

const infoStudentiPromise = Promise.all(  Studenti.getInfoStudentiById(await idStudentiResults) )
idStudentiResults alredy返回一个承诺。all()


关于导致错误的原因,我想知道为什么它说错误没有得到处理。试一试不成功吗

承诺。所有
都需要接收一个承诺数组作为参数。确保
Module.getInfo(ids)
正在返回该值。

Promise.all接受承诺数组并在then块中解析它们。看看这个,可能会有帮助:嗨!请拿着,四处看看,通读一下,特别是我也会退房和退房。请使用演示问题的示例更新您的问题,最好是使用堆栈片段(
[]
工具栏按钮;)运行的问题。您已经说过
模块。getInfo(ids)
返回承诺,而不是数组。如果这是真的(向我们展示会更好),那么为什么要将其传递到
Promise.all
?这似乎没有任何意义……
为什么它说错误未经处理
,因为错误未经处理。正常的
try/catch
无法捕获承诺错误,除非您使用了
async/awat
,并且确实
等待承诺。all()
为什么要用承诺包装承诺可能会共享
模块的代码。getInfo
并告诉我们您正试图实现的目标。我知道错误在哪里,我不知道的是,为什么它说错误未处理这行没有捕获承诺:
const infoPromise=Promise.all(Module.getInfo(ids))
你的意思是,如果代码执行某些异步操作,我需要为每一行代码都使用try-catch块吗?@Filipbosco不是try-catch块,而是Promises的
.catch
方法
const infoStudentiPromise = Promise.all(  Studenti.getInfoStudentiById(await idStudentiResults) )