【发布时间】:2019-12-21 14:20:36
【问题描述】:
我有一个调用 API 后端的 fetch API 调用,作为回报,我将获得带有状态码的响应对象。我想做的是基于返回,我想返回带有状态码的 JSON 响应。以便 javascript 的其他部分可以根据状态代码进行操作。我的 fetch 函数如下。
我已经尝试如下,但它返回给定的屏幕截图。它给了我不想得到的承诺价值。
export const createUser = ( posts ) => {
const apiRoute= "/api/register";
return window.fetch(`${apiRoute}`, {
"headers": headers,
method: "POST",
body: JSON.stringify(posts)
}).then(response => ({
'status' : response.status,
'data' : response.json()
}))
.catch(error => console.error('Error: ', error))
;
}
我知道它可能与这篇文章 (Fetch api - getting json body in both then and catch blocks for separate status codes) 重复,但我不希望我的数据作为承诺返回。相反,我想返回完全构造好的 JSON 数据。
类似的东西。
{status: 400, data: {id:1,name:Hello World}}
我怎样才能做到这一点?
【问题讨论】: