router.post('/check', function (req, res) {
let numberList = req.body.number;
let indexList = [];
if (!numberList)
return;
sort(req, res, numberList, indexList, function () {
res.send({result:indexList});
});
});
var sort = function sort(req, res, numberList, indexList,call) {
process.nextTick(call);
for (let i = 0; i < numberList.length; i++) {
userProfile.find({number: numberList[i]}, function (err, data) {
if (data.length > 0)
indexList.push(i);
});
console.log('infor', indexList);
}
};
let numberList = req.body.number;
let indexList = [];
if (!numberList)
return;
sort(req, res, numberList, indexList, function () {
res.send({result:indexList});
});
});
var sort = function sort(req, res, numberList, indexList,call) {
process.nextTick(call);
for (let i = 0; i < numberList.length; i++) {
userProfile.find({number: numberList[i]}, function (err, data) {
if (data.length > 0)
indexList.push(i);
});
console.log('infor', indexList);
}
};
어떻게하면 비동기의 늪에서 벗어날수있을까하여
계속 고칙고치고하다 가장 최근모양이 이거다..하악
process.nextTick(call); <-응?
??
어디가 문재인 데
req res는 왜있는거죠
For루프가 시작하전에 샌드가되어버린다..
저건 원래딴거있었는데 지우면서 남은 잔여물
포루프돌고 샌드하게만들어야되는데 지금 샌드하고 포루프가돔
끝나고 보내면 되는거 아님?
그걸 어케하냐고...
콜백에서 샌드하면 에러남
노드는 죄없다.
샌드는 잘되는데 샌드한 후엔 헤더를 작성할수없다며 예외를 던지더군
예외가 어느라인에서생김
유저프로필파인드도 비동기임?
비동기니까 콜백함수로 그뒷잉을 수행하겟지?
시발 포문안에서 비동기를 쓰니까 그러지..
promise.all쓰셈..
예외는 send할때생기더라. 근데 어쨋든 응답은 잘 가는데 예외뜨니까 이방식이아닌거지.. 내가말하는 방식은 저거말고 걍 콜백에 샌드한경우
야 포문도 비동기지??
아머리통아차 시팔 프로미스올이머지
호출시점이랑 예외랑은 상관없음 다른게 문재인 거임