router.post('/check', function (req, res) {
let numberList = req.body.number;
let indexList = [];
if (!numberList)
return;
for (let i = 0; i < numberList.length; i++) {
userProfile.find({number: numberList[i]}, function (err, data) {
if (data.length > 0)
indexList.push(i);
});
} Promise.all(indexList).then(function () {
res.send(indexList);
})
});
let numberList = req.body.number;
let indexList = [];
if (!numberList)
return;
for (let i = 0; i < numberList.length; i++) {
userProfile.find({number: numberList[i]}, function (err, data) {
if (data.length > 0)
indexList.push(i);
});
} Promise.all(indexList).then(function () {
res.send(indexList);
})
});
이케했는데
내가보기엔 res.send()저기부분이 이상한거같은데..
then으로 파라메타 어떻게넘기지 ??
익명함수로 감싸서 파라미터로 넣어주면됨
그렇게 했구나 여기선 all파라미터가 이상한거
그거하면 컴파일오류떠
올엔 대체뭘넣어야대ㅑ
all은 니가 전부 끝날때까지 기다리고 싶은 작업들을 프로미스로 만들어서 배열이나 이뉴머레이터에 담아서 파라미터로 넘기는거임
for한바퀴 돌때마다 저 비동기 작업을 프로미스 객체로 감싼다음 그걸 프로미스배열에 넣고 포문 끝나면 그걸로 프로미스올 하면됨
쟤가 잘되게하려면 어케해야대,,,지금 []넘어간다
뭐라는거지??ㅋ
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
저 배열과 별개의 새 배열을 만들고
프로미스 천천히 다시봐보셈 프로미스올은 프로미스를 알아야함