Javascript FileReader onerror 事件 - 如何找出错误是什么?

问题描述 投票:0回答:1

Javascript

FileReader
对象支持
onerror
处理程序,该处理程序在出现错误时被调用,但传入的事件是
ProgressEvent
并且不包含错误的任何详细信息。

如何找出实际发生的错误?

javascript filereader
1个回答
5
投票

在 RTFMing 更仔细地响应 @Ariel 的评论后 (https://developer.mozilla.org/en-US/docs/Web/API/FileReader/error),我看到 FileReader 有一个

error
属性以及
error
事件。当调用错误处理程序时,传递给它的
ProgressEvent
几乎没有用,您需要查看
error
属性。

因此代替:

reader.onerror = x => { throw x }

更合适的回答是:

reader.onerror = () => { throw reader.error }`

或者如果你要包装一个承诺(按照Javascript Promises with FileReader()),而不是:

reader.onerror = reject:

你最好使用

reader.onerror = () => reject(reader.error);

话虽如此,错误属性的类型是

DOMException
,它不是从
Error
继承的,就我而言,包含很少的有用信息,但它似乎是最好的,并且据我所知告诉你,扔
DOMException
似乎被认为是可以接受的做法,即使它不是
Error

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.