보통 Node.JS라는 콜백 스프를 즐길 수는 있지만 SQLite 문제 때문에 블로킹 방식으로 코드의 특정 부분을 실행해야합니다. . (예, SQLite 부분을 시험해보고 해결할 수 있다는 것을 알고 있습니다. 실제로 차단을 보장하는 것이 더 합리적입니다.) async 모듈을 사용하는 것을 좋아하지만 사용할 수있는 기능이 있다고 생각합니다. 여기, 나는 그것을 찾을 수없는 것 같습니다. 아니면 더 나은 모듈이있을 수도 있습니다. 어쨌든, 속히 : ////
에 둘러싸여 코드의Node.JS 루프에서 블로킹을 방지하는 방법
func = function(callback) {
let i = 0;
arr.forEach(val => {
if (val.trim().length > 0) {
console.log(`Starting for user ${val}.`);
let mylc = new lcapp(val);
////// TODO this needs to be made sycnronous. /////
async.series({
getMyDetails: callback => getMyDetails(mylc, callback)
}, (err, results) => handleResults(err, results, mylc, callback));
/////////////
}
});
};
섹션 나는 handleResults
함수가 반환 될 때까지 차단하고 싶습니다. 내가 handleResults
, 또는 어쩌면 내가 func
주위에 부모 함수를 작성해야하지만 난 StackOverflow 사람들이 좋은 아이디어가 있는지보고 싶습니다 재 프로그래밍이 필요합니다 이해합니다.
SQLite 외에도이 기간 동안 100MB 파일을 다운로드한다는 사실을 잊어 버렸습니다. 루프에서 모든 콜백을 비동기 적으로 진행하는 것과 같은 다운로드는하지 않을 것입니다. –