Angular 8无法从API获取数据始终返回404
我正在使用twitch的APIAngular 8无法从API获取数据始终返回404,api,angular8,Api,Angular8,我正在使用twitch的API 我已经检查了邮递员的API,它的工作是正确的 twitch API=> Header=>Client-ID:Client-ID-IS-HERE 我在angular 8项目上测试了另一个API,它仍然可以正常工作 范例 {总数:35,视频:阵列(10)} 4.这是从中断的服务API返回的数据集 twitch API=> Header=>Client-ID:Client-ID-IS-HERE 5.服务功能 async getUserFollows(twi
- twitch API=>
- Header=>Client-ID:Client-ID-IS-HERE
- twitch API=>
- Header=>Client-ID:Client-ID-IS-HERE
async getUserFollows(twitchId) {
return new Promise((resolve, reject) => {
this.http.get('https://api.twitch.tv/helix/users/follows', {
headers: new HttpHeaders({
'Client-ID': this.clientId
}), params: new HttpParams()
.set('to_id', twitchId)
.set('first', '100')
}).subscribe(
(res: any) => {
resolve(res);
}, err => {
reject(err);
}
);
}
);
}
我该怎么办?我缺少什么?删除
async
关键字,因为您已经在使用承诺
请求永远不会被炒鱿鱼,因为您正在返回一个承诺的承诺(而且因为没有人听外部承诺,所以它永远不会被炒鱿鱼)
如果你输入了函数的返回类型,你会发现这个错误——你可以考虑的一个很好的练习。< /P>
顺便说一下,使用
this.http.get<...>(...)
.pipe(..., catchError(...))
.toPromise();
this.http.get(…)
.pipe(…,catchError(…)
.toPromise();
您在浏览器的“网络”选项卡中有什么,您觉得请求不错吗?在“网络”选项卡中再也找不到任何请求的“api.twitch.tv/helix/users/follows”。最后一个请求是第3条中的另一个函数。我请求3服务1.channel desc 2.stream 3.follower我在网络流量上只找到了1、2,但没有找到3。
async getUserFollows(twitchId) {
return new Promise((resolve, reject) => {
this.http.get('https://api.twitch.tv/helix/users/follows', {
headers: new HttpHeaders({
'Client-ID': this.clientId
}), params: new HttpParams()
.set('to_id', twitchId)
.set('first', '100')
}).subscribe(
(res: any) => {
resolve(res);
}, err => {
reject(err);
}
);
}
);
}
this.http.get<...>(...)
.pipe(..., catchError(...))
.toPromise();