mysql - 爸爸解析太快了

标签 mysql json papaparse

我正在使用 Papa Parse 来读取通常有许多重复行的 CSV 文件。 通过 STEP 回调,每行都会被 POST 到一个 API,该 API 在将其添加到 MySQL 数据库之前检查该行是否重复。问题是,Papa Parse 在将前一行添加到数据库之前触发下一行(和 POST 请求)。由于重复的行通常彼此靠近,因此我的数据库中最终出现了重复的条目。这可以在 Papa Parse 中解决吗?

可能的解决方案:让 JSON 编译并将每一行传递给等待每个 POST 请求完成的异步函数。

$.get('file.csv', function(data) {
    Papa.parse(data, {
        header: true,
        skipEmptyLines: true,
        step: function(results, parser) {
            var product = results.data[0];
            $.ajax({ 
                url: '/api/create',
                type: 'POST',
                data: $.param({'product':product}),
                success: function(result) {
                    console.log(result);
                }
            });
        }
    });
});

最佳答案

Papa Parse 支持暂停恢复(也许在您发布问题时不支持)。您可以分别使用 pause()resume() 暂停和恢复。例如:

    step: function(results, parser) {
        parser.pause();
        //do your stuff that needs to complete before next row is given
        parser.resume();
    }

关于mysql - 爸爸解析太快了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34202770/

相关文章:

php - 无法将opencart连接到mySQL数据库

ruby - 使用 Sinatra 创建路由以仅接受特定的内容类型

javascript - 寻找更好的解决方案

javascript - 下载/保存 CSV 文件 - PapaParse

javascript - Node.js 从 csv/JSON 过滤/提取数据子集

javascript - 下载文件时设置csv编码

php - SQL SELECT COUNT rawQuery 与 PHP-MySQLi-Database-Class

mysql - 如何使用给定的表进行选择?

ruby-on-rails - 使用自定义 MIME 类型时在 Rails 中解析 JSON 有效负载

mysql - mysql中的运行平均值