gpt4 book ai didi

flutter - Dart :如何从多个完成者创建 future

转载 作者:行者123 更新时间:2023-12-03 03:15:39 24 4
gpt4 key购买 nike

我想用 Dart / Dart 的多个完成者来创造 future 。

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 }}
}

每当该事件可用时,我的 SocketService().listenForEvent就会被调用。我想将所有对话都写入数据库,然后在所有对话完成后就知道该状态。
因此,我需要等待或根据这些完成者列表创建一个 future 。我该如何实现?

最佳答案

您可以使用Future.wait:

return Future.wait(_completerList.map((e) => e.future));

关于flutter - Dart :如何从多个完成者创建 future ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com