我想把Stream从Future中取出来......请问如何改变Stream中的Future.例如一个返回Future Movie的函数。
Future < Movie > getMovieDetails(int id) async {
Movie m = Movie.fromMap(await _service.v3.movies.getDetails(id, language: _lang));
return m;
}
谢谢你!
你可以将你的方法标记为 async*
其中返回一个 Stream
而不是 Future
:
Stream<Movie> getMovieDetails(int id) async* {
yield Movie.fromMap(await _service.v3.movies.getDetails(id, language: _lang));
}
然后你可以 yield
一个或多个值。当该方法退出时,流将被关闭。
在这里阅读更多信息。https:/medium.com@jelenaaa.lecicwhat-are-sync-async-yield-and-yield-in-dart-defe57d06381