我开始在节点,我有一个问题,我需要做这一点只与节点版本的承诺,我需要与以前的承诺的结果进行比较,但没有工作,这似乎是我的代码结构很差,这里的代码谢谢…
ListarUsuariosMaxDate.then(response => {
return ListaconCondicionProceso(response);
}).then(data2 => {
return filtrarPagos.then(data3 => {
let result = data3.filter(elem => data2.filter(elem2 => elem.user == elem2.user_id && elem.createdAt > elem2.maximo).length > 0);
return result;
}).then(data5 => {
console.log(data5)
})
})
})结果(data5)是关于错误的emtpy...sorry ...
发布于 2020-05-06 23:40:50
我可以做一些改变并起作用,但我不明白为什么。我在前面的代码中使用async并等待这个结构,它起作用了:
async function comparacionTotalProceso(listaTotal, listaFiltrada) {
let result = listaFiltrada.filter(elem => listaTotal.filter(elem2 => elem.user == elem2.user_id && elem.createdAt > elem2.maximo).length > 0);
return result;
});
}但现在对于节点版本,我需要将所有内容都更改为promises,并执行了以下操作:
...
.then(data2 => {
return filtrarPagos.then(data3 => {
let result = data2.map(elem => data3.map(elem2 => elem.user == elem2.user_id && elem.createdAt > elem2.maximo).length > 0? elem:null);
return result;
})最后works改变了map和return elem的过滤器,但我不知道为什么。
https://stackoverflow.com/questions/61621161
复制相似问题