我使用http.getFile()下载文件。这是代码。
httpModule.getFile( url, destPath ).then( function( result ) {}, function (error) {} );
如果我指定了无效的URL(即产生了http 404) - getFile()返回成功结果,该文件包含404 html消息。我原以为404(文件未找到)会导致拒绝。
答案 0 :(得分:1)
HTTP状态 404 表示您已发出成功请求,并且服务器已回复了不存在的内容。您可能希望实现逻辑来解决不同的服务器状态,例如40x和50x,这是常见的情况并且不是由错误引起的。在HTTP请求中但由于服务器端的错误(缺少内容,丢失的服务器等)。
在拒绝回退中,您应该只处理不成功的请求,从而导致与代码执行相关的错误,并且不应该根据成功返回的HTTP状态代码处理逻辑。当您发现错误时,由于请求失败,不会为您提供任何状态代码。
要根据状态代码处理逻辑,您可以使用以下内容:
http.request({ url: "https://httpbin.org/get", method: "GET" }).then(response => {
// Argument (response) is HttpResponse!
var statusCode = response.statusCode;
if (statusCode >== 400) {
// do something to handle all statuses greater then 400
}
}).catch(err => {
// handle execution errors here
})