我正在使用aurelia-fetch-client,当我向nodejs后端api发送请求时出现此错误:
import {HttpClient, json} from 'aurelia-fetch-client';
import baseConfig from 'config';
export class AuthService {
constructor() {
this.http = new HttpClient().configure(config => {
config
.withBaseUrl(baseConfig.baseUrl)
.useStandardConfiguration();
});
this.isAuthenticated = false;
}
login(credentials) {
return this.http.fetch('/login', {
method: 'post',
body: json(credentials)
})
.then(res => {
this.saveToken(res.token)
return Promise.resolve();
});
}
saveToken(token) {
localStorage.setItem('token', token);
this.isAuthenticated = true;
}
}
一切正常但是这个警告非常烦人,我不知道如何修复它,这是发送请求的代码:
var devices = await DeviceInformation.FindAllAsync(GattDeviceService.GetDeviceSelectorFromUuid(new Guid("00001520-1212-efde-1523-785feabcd124")));
GattDeviceService m_service = await GattDeviceService.FromIdAsync(devices[0].Id);
任何帮助表示赞赏
答案 0 :(得分:4)
aurelia-fetch-client标准配置(通过.useStandardConfiguration()
应用于您的代码中)拒绝非成功的HTTP响应状态代码。在aurelia / fetch-client repo here中有一个最近(已关闭)的问题。 fetch客户端拒绝响应本身的promise,因此浏览器正在抱怨(它希望promise只会被Error实例拒绝)。
我通过删除.useStandardConfiguration()
在我自己的代码中解决了这个问题,因为在这个特定项目中我不需要它。您可以查看the source code以了解有关配置情况的更多信息。