首页 > 解决方案 > 异步 Javascript 函数在 IE 11 中不起作用

问题描述

下面的代码在 chrome 中工作,但是当我在 IE 11 中运行它时,我得到一个“SCRIPT1006: Expected ')'”错误。这可以在IE中完成吗?

代码:

    fileInput.addEventListener('change', async function (evnt) {

        for (var i = 0; i < fileInput.files.length; i++) {
            var fileId = 'file' + fileCount.toString();

            const base64String = await fileToBase64(fileInput.files[i]);

            fileList.push(
                {
                    filename: fileInput.files[i].name,
                    fileSize: fileInput.files[i].size,
                    base64: base64String,
                    tableId: tableId,
                    fileId: fileId,
                    documentType: "null",
                    extension: fileInput.files[i].name.split('.')[1]
                });
            fileCount++;
            addToTable(fileList[fileList.length - 1])
        }
    }, false);

标签: javascriptasync-await

解决方案


IE 不支持async- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function#Browser_compatibility

如果您使用类似的东西进行编译,babel那么它可以为您伪造它。


推荐阅读