Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在函数中包装JavaScript获取-未处理的承诺拒绝_Javascript_Promise_Fetch - Fatal编程技术网

如何在函数中包装JavaScript获取-未处理的承诺拒绝

如何在函数中包装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

我正在尝试为JavaScript fetch命令编写一个包装函数

我的示例代码来自:

})

我这样称呼它:

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));})
没有任何真正有用的功能。您是否尝试过在调用code
fetchAPI(…)的过程中添加一个
.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.
});;