Флаттер: как запустить два или несколько раз один поток? - PullRequest
0 голосов
/ 22 сентября 2019

Я создаю приложение.Я хочу запустить его дважды за один поток с другой переменной.

это блок:

class CityWeatherBloc {
  final repository = Repository();
  final cityWeatherFetcher = PublishSubject<CityWeatherModel>();

  Observable<CityWeatherModel> get allCityWData => cityWeatherFetcher.stream;

  fetchAllCityData(String cityName) async {
    CityWeatherModel cityWeatherModel =
        await repository.fetchCityWData(cityName);

    cityWeatherFetcher.sink.add(cityWeatherModel);
  }

  dispose() {
    cityWeatherFetcher.close();
  }
}

final cityWeatherBloc = CityWeatherBloc();

это мой сборщик данных:

class CityWeatherApi {
  Client client = Client();

  Future<CityWeatherModel> fetchCityWeatherData(String cityName) async {
    String url =
        "${Links.MAIN_URL}/current?city=$cityName&key=${Links.API_KEY}";

    var response = await client.get(url);

    if (response.statusCode == 200) {
      return CityWeatherModel.fromJson(json.decode(response.body));
    } else {
      throw Exception('Error : ${response.body}');
    }
  }
}

Как видите, URL имеетпеременная cityName.Но у меня есть список городов.Я хочу получить потоковые данные по списку.

Я искал ответ, но не смог его найти ...

...