首页 > 解决方案 > 如何在 Stream.periodic 中调用异步函数

问题描述

是否可以在 dart:Stream.periodic 函数中调用异步函数?

我试图包装我的异步函数,但它不起作用,请参阅下面的代码。

Stream.periodic(Duration(seconds: _pollingInterval), _checkConnectivity)

String _checkConnectivity(int x) async {

return await _connectionRepository.checkConnection();

}

标签: flutterdart

解决方案


使用异步映射:

  Stream<String> checkConnectionStream() async* {
    yield* Stream.periodic(Duration(seconds: _pollingInterval), (_) {
      return _connectionRepository.checkConnection();
    }).asyncMap((event) async => await event);
  }

推荐阅读