dav*_*vez 5 javascript ecmascript-6 reactjs es6-promise redux
我在客户端使用 React + Redux,后端在 NET CORE 中。客户端使用以下 API 从 API 获取数据:
return fetch(`api/login`, requestOptions)
.then(response => {
if(!response.ok) {
return Promise.reject(response.json() as Promise<AuthError>);
} else {
return response.json() as Promise<ILoginResponse>
}
})
Run Code Online (Sandbox Code Playgroud)
请求选项有:
const requestOptions = {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json' },
body: JSON.stringify({ username, password })
};
Run Code Online (Sandbox Code Playgroud)
当密码错误时,服务器返回
404 Bad request
Run Code Online (Sandbox Code Playgroud)
身体是:
{"errorCode":2,"description":"Invalid Password"}
Run Code Online (Sandbox Code Playgroud)
我想读取正文,但使用这段代码是不可能的,因为这response.json() as Promise<AuthError>会产生一个空对象。有没有办法读取错误请求响应的正文?
小智 -1
您是否尝试过使用catch然后检查错误对象?
...
.then(response => response.json())
.then(response => console.log('Success:', JSON.stringify(response)))
.catch(error => console.dir(error));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7158 次 |
| 最近记录: |