我试图弄清楚如何找出(异步)HttpRequest(来自’dart:html’)失败的确切原因,并且说实话,我在这里有点迷失. onError回调只接收HttpRequestProgressError对象,该对象没有任何用处,并且HttpRequest对象
onError回调只接收HttpRequestProgressError对象,该对象没有任何用处,并且HttpRequest对象本身在发生故障时将“status”设置为“0”,甚至控制台显示“无法加载资源”而没有任何细节.
我想要的是知道确切的原因 – 如“拒绝连接”或“主机名未解决”.
这有可能吗?
谢谢!
不幸的是,没有财产可以按照您的要求详细报告错误.原因是 JavaScript不支持这一点.HttpRequest对象上有属性status和statusText(可以使用evt.target从HttpRequestProgressEvent获取,但是那些代表HTTP状态代码.每个其他错误都有状态代码0 – 请求失败.这可能是任何东西,并且唯一可以看的是浏览器的控制台,因为这是浏览器抛出的异常.
如果您的请求是同步的,您可以使用try-catch包围send().如果您的请求是异步的,这将无效.