flutter - 如何在 Stream.periodic 中调用异步函数
问题描述
是否可以在 dart:Stream.periodic 函数中调用异步函数?
我试图包装我的异步函数,但它不起作用,请参阅下面的代码。
Stream.periodic(Duration(seconds: _pollingInterval), _checkConnectivity)
String _checkConnectivity(int x) async {
return await _connectionRepository.checkConnection();
}
解决方案
使用异步映射:
Stream<String> checkConnectionStream() async* {
yield* Stream.periodic(Duration(seconds: _pollingInterval), (_) {
return _connectionRepository.checkConnection();
}).asyncMap((event) async => await event);
}
推荐阅读
- java - 尝试使用 ProcessBuilder 从命令行启动服务器
- php - 如何使用 PHP Profiler 跟踪 Mysql 慢查询日志文件条目
- computer-science - 在特定时间后仅更新数组中特定项目的最佳方法是什么?
- java - JLabel 的文本在 hitbox 的中间
- python - 在哪里添加while循环以使最小值和最大值正常工作
- git - 如何使用 AWS Code Deploy 和 AWS Code Pipeline 一次部署多个 git 存储库?
- python - 如何在函数 root.destroy 之后运行代码
- activerecord - 使用关系通过和比较运算符时,Yii2 对父模型表的别名
- android - shouldShowRequestPermissionRationale 方法的工作
- hibernate - 如何通过在 Spring data jpa 中加入来自不同数据库的 2 个表来运行本机查询?