【发布时间】:2016-09-25 20:53:29
【问题描述】:
我正在尝试解析 Meteor 应用程序中的大 csv 文件并使用 Semantic UI Progress 组件显示进度。但它会冻结并仅显示最终结果。
Template.ordersImport.events({
'click button': function (e) {
e.preventDefault();
Papa.parse($('#importedFile')[0].files[0], {
delimiter: ';',
newline: '\n',
header: true,
fastMode: true,
complete: function (result) {
$('form').hide();
$('#progress').show();
var totalSize = result.data.length;
_.each(result.data, function (item, index) {
var progress = (index + 1) / totalSize * 100;
$('#progress').progress({
percent: progress
});
});
}
});
}
});
【问题讨论】:
-
使用工作线程并在
step函数中更新UI。 -
工作线程在 Meteor 中不起作用(harrison_papa-parse.js?hash=af12d7c...&papaworker:14 Uncaught ReferenceError: Package is not defined)
-
你是对的。工作程序在 Meteor 包中不起作用,因为它全部捆绑到一个文件中,但可以修改库代码,使其内联工作程序函数(作为字符串),将其放在
public directory或等待Meteor 支持的 WebWorker 构建目标(有人建议,不确定它是否会发生)。不过,您仍然可以使用step函数(如果您不使用 worker,它仍然会阻塞)。
标签: meteor semantic-ui papaparse