android - 飞镖 : How to return Future<void>

标签 android asynchronous flutter future

如何返回 Future<void> ?

   Future<void> deleteAll(List stuff){
       stuff.forEach( s => delete(s));   //How do I return Future<void> when loop and all delete Operation are finished?
   }

   Future<void> delete(Stuff s) async {
      ....
      file.writeAsString(jsonEncode(...));
   }

如何返回 Future<void>forEach循环和所有删除操作都完成了吗?

最佳答案

你不需要手动返回任何东西,因为 async函数只会在函数实际完成时返回,但这取决于您如何/是否等待您在此函数中执行的调用。
查看您的示例,您缺少 async关键字,这意味着您需要编写以下内容:

Future<void> deleteAll(List stuff) async {
    stuff.forEach( s => delete(s));
}

Future<void> delete(Stuff s) async {
   ....
   await file.writeAsString(jsonEncode(...));
}
使用 Future<void> 时无需显式返回任何内容,因为 void顾名思义,什么都不是。
还要确保您调用 deleteAllwriteAsString()使用 await .
注意:WAITING所有delete/foreach要完成的调用,请参阅下面的答案以获取更多详细信息。简而言之,您需要将所有 delete Future.wait 中的调用为了那个原因。

关于android - 飞镖 : How to return Future<void>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60001013/

相关文章:

android - 在 webview 中平滑水平滚动

java - 如何在 root 中创建文件夹并在 Android 中的 Google Drive REST API v3 中获取其 ID

javascript - 在 Node.js 中继续之前如何等待函数完成

flutter - 窗口小部件功能在列窗口小部件中不起作用?

android - 双向滚动 ListView ?

android - sendMessage 无法正常工作(可穿戴)

flash - 如何在 Actionscript 3 中对事件进行排序

java - Tyrus Websocket 实现中的异步消息传递是否有序?

flutter - 将 json 中的列表嵌套到对象

animation - 如何在无效输入时晃动 Flutter 中的小部件?