我有一個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]);
}
}
});
});
有沒有辦法做到這一點,而無需外部庫?謝謝! –
是的!你如何看待外部庫呢?關鍵是,流量控制模式就是這樣:常見模式,所以將它們分解成可重用的庫是有意義的。但是,實現低級別的基本技巧涉及一些嵌套回調,工作到期隊列,以及大部分存儲索引和計數器。查看任何這些庫的源代碼,以瞭解它們的工作原理。 –