src / app / components / home / home.component.ts:17:14-错误TS2339:“ void”类型上不存在属性“ subscribe”

问题描述

我是新手,每天都向您学习,今天我遇到了这个问题,但是我一直在阅读其他文章,但我不知道发生了什么。 我将向您展示我的服务和家庭组件。

我正在尝试打印此数据。 https://www.thecocktaildb.com/api/json/v1/1/random.php

服务

import { Injectable } from '@angular/core';
//Get Data from API
import { HttpClient } from '@angular/common/http';
//MAP Array OF OBJECTS
import { map } from 'rxjs/operators';

@Injectable({
  //Providing this service into app.MODULE
  providedIn: 'root'
})
export class CocktailService {

  constructor(private http: HttpClient) {

    console.log('Cocktail SERVICE READY')

  }

  getRandomCocktail() {
    this.http.get('https://www.thecocktaildb.com/api/json/v1/1/random.PHP')
        .pipe(map ( data => {
          return data['drinks'].srtDrink;
        }));
        // .subscribe( resp => {
        //   console.log(resp);
        // })
  }
}

Home组件(在此处订阅问题)

import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { CocktailService } from '../../services/cocktail.service';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-home',templateUrl: './home.component.html',styleUrls: ['./home.component.css']
})
export class HomeComponent {

  cocktailData: any[] = [];
  constructor( private http: HttpClient,private cocktail: CocktailService ) {

        this.cocktail.getRandomCocktail()
        .subscribe( (data: any) => {
          this.cocktailData = data
          return this.http.get('https://www.thecocktaildb.com/api/json/v1/1/random.PHP');
        });
   }
}

非常感谢您的帮助,以便您了解.subscribe在这里发生的情况 我需要从组件进行订阅吗?我正在将数据导入服务,我迷路了。 我正在学习教程,但是使用的是其他API。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)