我有一个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]);
}
}
});
});
有没有办法做到这一点,而无需外部库?谢谢! –
是的!你如何看待外部库呢?关键是,流量控制模式就是这样:常见模式,所以将它们分解成可重用的库是有意义的。但是,实现低级别的基本技巧涉及一些嵌套回调,工作到期队列,以及大部分存储索引和计数器。查看任何这些库的源代码,以了解它们的工作原理。 –