Nativescript-http.getFile()不';t进程错误情况

Nativescript-http.getFile()不';t进程错误情况,nativescript,Nativescript,我正在使用http.getFile()下载一个文件。这是密码 httpModule.getFile(url,destPath).then(函数(结果){},函数(错误){}) 如果我指定了无效的url(即导致http 404),则getFile()返回成功结果,并且该文件包含404 html消息。我原以为404(未找到文件)会导致拒绝。HTTP Status404es表示您的请求已成功,并且服务器已以不存在的内容进行响应。您可能希望实现逻辑来解决不同的服务器状态,如40x和50x,这是常见的场景

我正在使用http.getFile()下载一个文件。这是密码

httpModule.getFile(url,destPath).then(函数(结果){},函数(错误){})


如果我指定了无效的url(即导致http 404),则getFile()返回成功结果,并且该文件包含404 html消息。我原以为404(未找到文件)会导致拒绝。

HTTP Status404es表示您的请求已成功,并且服务器已以不存在的内容进行响应。您可能希望实现逻辑来解决不同的服务器状态,如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
})

我理解您对http.request()的观点。我的请求是http获取文件。吃掉错误状态/消息(由任何原因引起),然后返回一个不正确的文件,没有其他状态消息/标志-我很确定这不是一个最佳的方法。使用您的http.request()示例—好像没有可用的状态代码。现在怎么办?不管怎样,一如既往,我感谢你的帮助。