Я занимаюсь разработкой веб-приложения, которое отправляет пользовательский SQL-запрос на сервер и получает результаты обратно постепенно (х строк на ответ) через веб-сокет. Логика запроса реализована на заводе. При отправке сообщения на заводе динамически создаются элементы div для отображения данных. У элементов div есть уникальный идентификатор, который отображается непосредственно на ответ (у ответа будет идентификатор).
// factory
var ws = new $websocket()
ws.send("SOME SQL QUERY")
ws.onMessage(function(response){
// Create div and display data
});
Я чувствую, что есть лучший способ сделать это. Я думал о сохранении результатов в очереди и создании директивы для чтения / отображения данных. Директива будет создана, когда пользователь отправит запрос. Это будет лучший дизайн?
// factory
var map = {};
var ws = new $websocket()
ws.send("SOME SQL QUERY")
ws.onMessage(function(response){
// put response in queue
map = {id:id, queue:queue}
});
// directive
var queue = DataFactory.getQueue(id);
while(!queue.isEmpty()) {
// Display data logic
}