Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何手动触发文件读取器onerror事件?_Javascript - Fatal编程技术网

Javascript 如何手动触发文件读取器onerror事件?

Javascript 如何手动触发文件读取器onerror事件?,javascript,Javascript,我正在使用newfilereader()测试读取文件的所有场景 读取完成后,应触发onload()。 我不知道如何触发onerror()回调 有什么想法吗 var promise = Promise.create(); var fileReader = new FileReader(); fileReader.onload = function () { }; fileReader.onerror = functio

我正在使用
newfilereader()测试读取文件的所有场景
读取完成后,应触发onload()。
我不知道如何触发
onerror()
回调 有什么想法吗

        var promise = Promise.create();
        var fileReader = new FileReader();
        fileReader.onload = function () {
        };
        fileReader.onerror = function(event) {
            // I want to stay here ..........
            // Who can tell me how to trigger this onerror callback?
            debugger
        };
        fileReader.readAsText(inputFile);
        return promise;


也许您想要了解的是如何使用异步函数:

async function FileReader(){
    // your code for the file reading
  return;
};
然后在
onload()
函数中使用wait等待它返回:

async function onload(){
  await firstFunction();  // This waits for fileReader() function to finish...
  // do what you want to show when fileReading is done
};

希望这有帮助

试着简单地调用abort:

var promise = Promise.create();
var fileReader = new FileReader();
fileReader.onload = function () {
  fileReader.abort()
};
fileReader.onerror = function(event) {
  // I want to stay here ..........
  // Who can tell me how to trigger this onerror callback?
  debugger
};
fileReader.readAsText(inputFile);
return promise;

如果这不起作用,您可以尝试以下错误:

触摸测试文件
chmod000测试文件

然后从读取器中打开该文件。

您可以在调试器模式下运行代码,并在“fileReader.readAsText(inputFile)”行添加断点。当调试器停止时,您可以手动重命名文件系统中的文件。然后FileReader抛出一个错误。
接受的答案在我的环境中不起作用。

可能是权限?您必须模拟FileReader。如果你告诉我你在使用哪些库进行测试,也许我可以帮你——我在用真实的代码编码。现在只想做个快速测试。是否可以在没有任何测试库或模拟的情况下触发此操作?非常感谢~请查看我的更新?顺便问一下,是否有机会找到所有可能的异常?我没在这里找到