Я упорно трудился, чтобы решить эту проблему.Вы не можете решить эту проблему только через Javascript.Вы должны использовать программирование сокетов.это поможет отобразить результат во время выполнения.позвольте мне объяснить мой ответ, node.js
const express = require('express');
let server = app.listen(app.get('port'), () => {
console.log('%s App is running at http://localhost:%d in %s mode', chalk.green('✓'), app.get('port'), app.get('env'));
});
var io = require('socket.io').listen(server);
io.sockets.on('connection', function (socket) {
socket.send('Sent a message 4seconds after connection!');
console.log(' %s sockets connected', io.engine.clientsCount);
socket.on('disconnect', function() {
console.log("disconnect: ", socket.id);
});
});
app.set('socketio', io);
в моем контроллере,
var io = req.app.get('socketio');
connection.query('INSERT INTO [MY TABLE NAME] SET ?', row, function (error, results, fields) {
if (error)
throw error;
let percentage = parseInt (Math.ceil ((i/sheetData.length)*100));
io.sockets.emit('progressBar',{ progressPercentage: (percentage > 100) ? 100 : percentage, user: row.user});
});
В нефрите / просмотре,
var socket = io();
socket.on('connect', function () {
socket.on('message',function(data) {
console.log (data);
});
socket.on('progressBar',function(data) {
document.getElementById ('uploadCounter').innerHTML = null;
document.getElementById ('uploadCounter').innerHTML = data.progressPercentage + '%';
});
});
Я верю, что этот подход будетпоможет вам показать прогресс загрузки во время выполнения.