我正在开发一个Web应用程序,该应用程序将用户定义的SQL查询发送到服务器,并通过WebSocket递增地接收结果(每个响应的行数x)。请求逻辑在工厂中实现。工厂中的onmessage动态创建div元素以显示数据。 div具有直接映射到响应的唯一ID(响应将具有ID)。
// 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
}