我使用Hapi / React / Sequelize / MySQL堆栈 我有一个客户。根据请求,服务器可能会发送1或最多500k的结果。这些结果是一个包含对象的数组(每个对象可能有15个属性)。发送大型列表不是一种选择,因为内存需要很长时间。我还需要对结果集进行一些计算。 所以我想以块的形式发送数据,可能每个10k(3秒)。 我可以想到两种方法。
方法一(长轮询):
方法二(套接字):
还有其他方法吗?
答案 0 :(得分:1)
我会建议每10k或更低块的并行请求,然后在计算后显示它的结果,而其余的仍然加载,因为它附加主显示等等:)
EDIT: pseudocode
listOfProductsIDArray = get id of products;
itemsPerLoad = 10;
mainDisplay = array;
for loop (index = listOfProductsIDArray/itemsPerLoad ){
send AJAX request with index;
if(AJAXrequest is success)
procees results
mainDisplay appends results from mysql
}
mysql side::
select * from products limit AJAXindex,itemsPerload
return results