如何在函数中包装JavaScript获取-未处理的承诺拒绝
我正在尝试为JavaScript fetch命令编写一个包装函数 我的示例代码来自: }) 我这样称呼它:如何在函数中包装JavaScript获取-未处理的承诺拒绝,javascript,promise,fetch,Javascript,Promise,Fetch,我正在尝试为JavaScript fetch命令编写一个包装函数 我的示例代码来自: }) 我这样称呼它: fetchAPI('/api/v1/rest-auth/password/change/', formData).then(response => { console.log('response ', response); }); 编辑:我修改了代码,以便在请求正常但被拒绝(例如,因为密码无效)时显示服务器返回的信息。如果ok==false,则必须询问jso
fetchAPI('/api/v1/rest-auth/password/change/', formData).then(response => {
console.log('response ', response);
});
编辑:我修改了代码,以便在请求正常但被拒绝(例如,因为密码无效)时显示服务器返回的信息。如果ok==false,则必须询问json响应
可以使用有效的URL获取。但如果有错误,我会看到一个未处理的拒绝(错误):错误消息
为什么不合格品即使在捕获区也未处理?这里的秘诀是什么?避免未经处理的拒绝承诺的方法是:
fetchAPI('/api/v1/rest-auth/password/change/', formData).then(response => {
console.log('response ', response);
}).catch(error => {
// do something meaningful here.
});;
处理错误时,只有重新抛出错误时,才会得到处理。阿卡<代码>未处理的拒绝(错误)ps.
.catch(错误=>{return Promise.reject(新错误(Error.message));})
没有任何真正有用的功能。您是否尝试过在调用codefetchAPI(…)的过程中添加一个.catch(…)
。然后(…).catch(…)
@Keith,我在许多示例中都见过这种格式,它从根本上是错误的,如果是,为什么它如此常见?您建议如何处理fetchAPI函数中的错误情况?将错误通知调用函数并将错误消息传递给它的正确方法是什么?@LittleBrain我不认为你这样做有任何内在的错误,你只需要记住处理调用方可能出现的异常(或者,接受未经处理的拒绝消息)@Jamiec,谢谢!这是令人困惑的,因为错误似乎在fetchAPI函数中……是的,但不是调用函数在处理它。我现在清楚多了。
fetchAPI('/api/v1/rest-auth/password/change/', formData).then(response => {
console.log('response ', response);
}).catch(error => {
// do something meaningful here.
});;