无法将参数类型'List <playlistsimple>'分配给参数类型'Future <list <playlistsimple >>'

时间:2019-04-08 09:45:11

标签: api dart flutter future mobx

我正在尝试创建一个应用,以根据创建它的用户从Spotify上的播放列表中获取曲目名称。 我在这里使用这个Spotify酒吧: https://pub.dartlang.org/packages/spotify#-readme-tab-

我也正在使用mobX进行状态管理,但是我遇到了这个问题,尽管此时我基本上是从mobx示例中复制代码: https://github.com/mobxjs/mobx.dart/tree/master/mobx_examples/lib/github

import 'package:mobx/mobx.dart';
import 'package:spotify/spotify_io.dart';

part 'musify_store.g.dart';

class MusifyStore = _MusifyStore with _$MusifyStore;

abstract class _MusifyStore implements Store {

  List<PlaylistSimple> playlists = [];

  @observable
  String user = "";

  @observable 
  ObservableFuture<List<PlaylistSimple>> fetchPlaylistsFuture = emptyResponse;

  //ObservableFuture<List<PlaylistSimple>> fetchPlaylistsFuture = emptyResponse;

  @computed
  bool get hasResults => 
    fetchPlaylistsFuture != emptyResponse &&
    fetchPlaylistsFuture.status == FutureStatus.fulfilled;

  static ObservableFuture<List<PlaylistSimple>> emptyResponse =
    ObservableFuture.value([]);

  @action 
  void setUser (String text) {
    fetchPlaylistsFuture = emptyResponse;
    user = text;
  }

  @action
  Future<List<PlaylistSimple>> fetchPlaylists() async {
    playlists = [];

  var credentials = new SpotifyApiCredentials(
      'my spotify api id here', 'my spotify api key here'
  );

  var spotify = new SpotifyApi(credentials);

  var playlistsSpotify = await spotify.users.playlists(user).all();

  //playlists.forEach((x) {});

  final future = playlistsSpotify.toList();
  fetchPlaylistsFuture = ObservableFuture(future);

  return playlists = await future;

  }

}

我只是希望用户键入用户名并显示一个播放列表列表,供他们选择。 抱歉,如果那是一个愚蠢的问题,我只是编码新手,并尝试着一个个人问题来开始编程

0 个答案:

没有答案