【发布时间】:2018-06-30 11:15:55
【问题描述】:
考虑到它的重复性,我正在尝试构建一个全局 API 请求函数。我遇到的问题是,尽管函数结束时 responseBody 对象不为空,但响应似乎为空?
我只能假设这部分是由于对象在更新之前被返回。
函数如下:
导出函数 restRequest(url, method, content, body) {
fetch(API_BASE_URL + url, {
method: method,
headers: new Headers({
'Content-Type': content,
'Access-Control-Request-Method': method,
// 'Authorization': localStorage.getItem(ACCESS_TOKEN)
}),
body: body
}).then(
function (response) {
response.json().then((data) => {
let json = JSON.parse(JSON.stringify(data));
let responseBody = {
code: response.status,
body: json
};
//at this point the responseBody is not null
return responseBody;
});
}
)
.catch(function (err) {
console.log('Fetch Error :-S', err);
});
但是,如果我打电话:
let response = restRequest('/app/rest/request', 'GET', 'application/json;charset=UTF-8', null);
响应始终为空。
处理这个问题的最佳方法是什么?
【问题讨论】:
标签: javascript reactjs react-native react-router react-redux