Я использую Papa Parse для чтения файлов CSV, которые обычно имеют много повторяющихся строк. Через обратный вызов STEP каждая строка отправляется в API, который проверяет, является ли строка дубликатом, прежде чем добавлять ее в базу данных MySQL. Проблема в том, что Papa Parse запускает следующую строку (и запрос POST) до того, как предыдущая добавлена в базу данных. Увидев, что повторяющиеся строки часто близки друг к другу, я получаю дубликаты записей в моей базе данных. Разве это разрешимо в Папском Парсе?Papa Parse слишком быстро
Возможное решение. Пусть JSON скомпилирует и передаст каждую строку функции Async, которая ждет завершения каждого запроса 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);
}
});
}
});
});
Использование Javascript задержки ([проверить здесь, как] (https://developer.mozilla.org/en-US/docs/Web/API/WindowTimers/setTimeout)) .... без кода , экземпляры или даже детали, мы не можем помочь – Bonatti
Не могли бы вы использовать какую-то форму блокировки? – Jire
Прежде всего вы должны обеспечить уникальность ограничений уровня базы данных, вы не можете доверять клиенту API, чтобы он всегда вел себя, даже если вы исправили эту проблему. –