node.js.에 문제가 있습니다. 프로그램의 명령은 시간적으로로드되지 않으며 나는 그것을 수행하는 방법을 모른다. 데이터베이스에서 일부 이미지와 텍스트를 다운로드하고 팩 8과 함께 보내려고합니다. 그러나 node.js는 루프와 명령 루프 이후에 동시에 실행됩니다. 비동기의 세계에Node.js 연대순 문제
socket.on('background_dinamically', function(data){
connection.query("SELECT * FROM products WHERE id='"+data.cathegory+"'" , function(err, rows, fields){
var count = 0;
var array_elements = [];
if(err){
socket.emit('errorserver');
}else{
for (var i = rows.length - 1, count; i >= 0; i-- & count ++) {
array_elements.push(rows[i]);
if (count == 8) {
socket.emit('image_loading_background', [array_elements, data]);
count = 0;
array_elements = [];
}
};
if(count > 0 && count < 8 && count != 0) {
socket.emit('image_loading_background', [array_elements, data]);
}
}
});
});
외부 라이브러리가 없어도이를 수행 할 수있는 방법이 있습니까? 감사! –
예! 외부 라이브러리가 어떻게 그럴 것이라고 생각하십니까? 중요한 점은 흐름 제어 패턴은 일반적인 패턴이므로 다시 사용할 수있는 라이브러리로 분류하는 것이 좋습니다. 그러나 낮은 레벨을 수행하는 기본 기술에는 일부 중첩 콜백, 예정된 작업 대기열 및 대부분의 경우 인덱스 및 카운터 저장이 포함됩니다. 해당 라이브러리의 소스 코드를 확인하여 작동 방법을 확인하십시오. –