可以/应该在前端处理多少csv解析?

时间:2015-05-15 18:02:37

标签: html json rest csv file-upload

我即将:

  • 创建一个Web界面,用户可以在其中键入电子邮件地址,然后通过一个json批量发送到服务器,然后用于向这些用户发送消息。
  • 我还要求能够上传包含很长电子邮件地址列表的csv文件。问题是电子邮件地址的数量可能非常大。我们谈论的是成千上万甚至更多。

理论上我可以解析前端的csv文件并在json对象中发送电子邮件地址(因为我已经有了第一个用例的api,其中输入了电子邮件地址并作为json发送),或者我可以将这些csv文件上传到我们的数据库并在服务器端进行解析。

  • 应该考虑在前端处理csv文件吗?

  • 在前端处理“安全”的项目数量应该是什么,而不会破坏任何内容,或最终导致严重受损的用户体验?

有人可以根据经验发表评论吗?感谢

1 个答案:

答案 0 :(得分:1)

  

应该是什么"安全"在...中处理的项目数   前端没有破坏某些东西,或者最终结束了   用户体验受损?

这取决于用户的机器。 这里没有人能够就你的问题给你一个明确的答案。

无论如何,您可以使用 Web Workers API

Web Workers 允许您在后台创建长时间运行的 异步 线程,而不会严重影响/冻结您的UI。您可以显示一个指示正在处理CSV的微调器。同时,您的用户可以很好地与UI进行交互。

supported,这是你最好的选择。

  

应该考虑在前端处理csv文件吗?

字符串解析通常在某些情况下由现代浏览器优化的进程。如果将计算移动到服务器,则需要扩展服务器以满足计算需求,因为越来越多的用户使用您的Web应用程序。

你可以玩它并检测用户机器的处理能力 - 如果能够的话,使用Web Workers,如果不使用服务器来执行此操作。

最全面的方法是定义Browser Test Matrix并自行测试。 您甚至可以使用Network Throttling in Chrome Dev Tools

模拟要定位/测试的带宽