电子:对html的更改在过程完成之前不会显示

时间:2019-05-23 10:54:55

标签: electron

我更新了几个dom元素以显示循环过程中的进度,但是未显示更改。只有在循环结束时,所有dom元素才会同时与最终进度消息一起更新。

    <ul id="progress1">Ready to import flight 1...</ul>
    <ul id="progress2">Ready to import flight 2...</ul>
    ...

主要过程如下:

    let myWin = new BrowserWindow()

    myWin.on('show', () => {
        myWin.webContents.executeJavaScript('doValidation') })

    myWin.loadURL(url.format({
        pathname: path.join(__dirname, 'usbUpload.html') })

    myWin.show();

这是我在渲染过程中的循环:

for( i=1; i < n; i++ ) {
    f = flight[i]

    if (f != '') {

        showProgress(i, f + " - Analysing...")

        if (analyse( f )) {
            showProgress(i, f + " - Imported ok.") }
        else {
            showProgress(i, f + " - Could not be imported.")
        }
    }
}

进度功能如下:

function showProgress(i, message) {
    document.querySelector('#progress' + i)
        .innerHTML = "<li id=progress" + i + ">" + message + "</li>"                                        

    ***** REFRESH DISPLAY HERE PLEASE !! *****

}

由showProgress函数更新时,如何立即刷新屏幕上的showProgress消息?

0 个答案:

没有答案