【发布时间】:2020-06-20 18:38:29
【问题描述】:
我有一个巨大的数据集,例如 200MB 的 txt 格式。 我能够通过 http 调用将数据发送到 Angular。
现在我需要发回数据,在本地完成小编辑后,可以在每一“行”中完成(参见Reading an FASTA file,这是文件格式)。
令我惊讶的是,我不能把它寄回去,它太大了;我正在保存到 MongoDB。我注意到,如果我发送说 1%,它就可以了。所以,我现在的解决方案是以更小的数据块发送数据。尽管如此,我在这里尝试了一些建议的方法,但没有。
我在这里发现了一个类似的问题:Angular 7 Handling large post http request
我的问题是:为了接收数据,我们可以使用观察者;因此,数据是在小卡盘中接收的。 有没有一种明确的方法可以让它成为一种方法,或者我可以输入整个数据集并由它来完成其余工作的东西?
可能的提示:如果我能发送1%,我可以把它分成1%的块,然后依次发送;但我需要确保 Angular 在前一个调用完成之前不会发送 HTTP 调用,否则,由于 JavaScript 内存问题,快速应用程序会崩溃。
在此处查看此问题的第一个版本,一切从这里开始:How can I hold on http calls for a while?
我不确定这是否是一个未解决的问题,因为我没有提供代码。我还在学习使用这个平台;有时我们从鸡身上取了太多的金蛋!提前致谢! :)
讨论
@zzfs 明智地给了我一些见解,我会考虑的;尽管如此,我还是愿意将代码作为示例,示例;至少对我来说,从代码中学习更容易。
@zzfs 提到要考虑“差异”,并只保存更改,这是我目前的方法。我坚持开放这个赏金的原因是,如果可能的话,我想拥有一个健壮的系统,这意味着如果一个人添加过多的 cmets,差异将很小,系统可能会崩溃;我相信,发生这种情况的可能性很小,因为有些人不太可能一次性增加 1.000-10.000 cmets。
另一个问题是不知道我目前上传数据集的方式是否最好,我是从 Mongo 和 Express 中的应用上传,本地保存。
【问题讨论】: