gpt4 book ai didi

javascript - NWJS 在长循环 JavaScript 期间更新进度条

转载 作者:行者123 更新时间:2023-11-28 05:38:38 24 4
gpt4 key购买 nike

我在使用 JavaScript 时遇到了一些问题。我正在尝试使用 NW.JS 制作桌面应用程序。我有一个 .xml 文件,我将其拖放到我的应用程序中,然后它运行一个函数来读取 XML 做一些事情并将新文件保存在 .csv 中它工作正常,但现在我可以在功能期间更新进度条...

我尝试了 setIntervalsetTimeOut() 但我总是得到相同的结果:在函数完成之前没有任何附加内容。

这是我的代码

  //Same as $(document).ready();
function ready(fn) {
if (document.readyState != 'loading'){
fn();
} else {
document.addEventListener('DOMContentLoaded', fn);
}
}

//When the page has loaded, run this code
ready(function(){
// prevent default behavior from changing page on dropped file
window.ondragover = function(e) { e.preventDefault(); return false };
// NOTE: ondrop events WILL NOT WORK if you do not "preventDefault" in the ondragover event!!
window.ondrop = function(e) { e.preventDefault(); return false };

var holder = document.getElementById('holder');
holder.ondragover = function () { this.className = 'hover'; return false; };
holder.ondragleave = function () { this.className = ''; return false; };
holder.ondrop = function (e) {
e.preventDefault();

var file = e.dataTransfer.files[0],
reader = new FileReader();
reader.onload = function (event) {
########I'm doing stuff here to convert file and i want to update the progressbar##########

};
reader.readAsText(file);
//reader.readAsDataURL(file);

return false;
};
});

感谢您的帮助

致以诚挚的问候,

最佳答案

在 NWJS 和 Electron 中尝试相同的代码后,我发现问题是“主”Chromium 进程中任何长时间运行的进程都会阻塞渲染。解决方案是生成一个通过 Node 的 IPC 进行通信的子进程。更多详情请参见this answer .

关于javascript - NWJS 在长循环 JavaScript 期间更新进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39124846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com