Kri*_* CN 1 socket.io dart flutter
我想用 dart/flutter 的多个完成者创造一个未来。
Future getAndWriteToDB(conversations){
List<Completer> _completerList = List();
for (var i = 0; i < conversations.length; i++) {
final conversation = conversations[i];
_completerList.add(Completer());
SocketService()
.listenForEvent('mylistenerkey')
.then((data) {
_messagesDao.insertMessages(messages).then((result) {
if (result == false) {
print("writing to db for message failed");
} else {
_completerList[i].complete(true);
}
});
}
});
}
return {{ wait for these completers complete event }}
}
Run Code Online (Sandbox Code Playgroud)
SocketService().listenForEvent每当该活动可用时,我都会接到电话。我想将所有对话写入数据库,然后一旦所有这些都完成,就可以了解该状态。所以我需要根据这些完成者列表等待或创造未来。我怎样才能实现这个目标?
您可以使用Future.wait:
return Future.wait(_completerList.map((e) => e.future));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
924 次 |
| 最近记录: |