Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 8无法从API获取数据始终返回404_Api_Angular8 - Fatal编程技术网

Angular 8无法从API获取数据始终返回404

Angular 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

  • 我已经检查了邮递员的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(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();