在非2xx apiFetch请求上获取HTTP响应代码

时间:2020-12-18 作者:Nicholas Harris

我正在使用WordPress的apiFetch库向我的WordPress REST端点发出请求(在WordPress管理仪表板中)。如果响应是非2xx代码,则apiFetch似乎会抛出错误,使用响应的JSON主体作为错误。但是,它似乎没有在该错误的任何位置插入HTTP代码。

这是必要的,因为它允许我区分;“正常”;错误(如404,如果请求的资源不存在)和;“意外”;错误(如500内部服务器错误)。

1 个回复
最合适的回答,由SO网友:Gan 整理而成

默认情况下,apiFetch将自动为您分析响应。您可以通过设置parsefalseapiFetch 选项,例如:

const handleClick = async () => {
    try {
        const result = await apiFetch( {
            path: \'/your/path\',
            parse: false,
        } );
        console.log( result ) // you will see ok status (e.g. 200) in here.
    } catch ( error ) {
        console.log( error ); // you will see error status (e.g. 404 or 500) in here.
    }
};

更多信息:apiFetch\'s parse option

解析响应的相关代码:请参阅utils/response.js in apiFetch

相关推荐

多国语言上的Gutenberg块JavaScript本地化不起作用

我可以使用wordpress成功翻译我的插件。org用于所有php字符串。一切都很好。我甚至可以看到需要翻译的字符串https://translate.wordpress.org/projects/wp-plugins/simpletoc/stable/de/default/ 在这种情况下,它是“更新目录”:https://plugins.trac.wordpress.org/browser/simpletoc/tags/1.8/build/index.js#L111所以我翻译了它们,等了24小时。我可以