使用typescript和Angular 5从.subscribe()返回数据

时间:2018-02-15 16:05:24

标签: javascript angular typescript es6-promise ecmascript-5

如何从Module内的subscribe返回数据?

组件

import { GenreService } from '../../../services/genre.service';
import { GenreModule} from '../../modules/GenreModule';

private genreModule: GenreModule;

constructor(
   private __genreService: GenreService
) 

  {
    this.genres = new Array<Genre>();
    this.genreModule = new GenreModule(this.__genreService);
    //Get all genres
    var item = this.genreModule.loadAll();
    console.log(item);
  }

服务

  getAllGenres() {
    return this.http.get('/api/genre')
      .map(res => res.json());
  }

模块

import { Genre } from '../models/Genre';
import { GenreService } from '../../services/genre.service';

  public genres: Array<Genre>;

    constructor(private genreService: GenreService) {
        this.genres = new Array<Genre>();
    }

//Get genres
public loadAll(): any {
    this.genreService.getAllGenres().subscribe(response => {
        this.genres = response;
    });
    return this.genres;
}

我实际上一直试图了解模块是如何工作的。我想在这里完成的是获取数组return this.genres;以便在我的组件中显示它但它返回空。

0 个答案:

没有答案