Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter dart使用一行代码等待所有函数_Flutter_Dart - Fatal编程技术网

Flutter dart使用一行代码等待所有函数

Flutter dart使用一行代码等待所有函数,flutter,dart,Flutter,Dart,在我的代码中,有一些函数将执行异步操作。因此,我将函数标记为async,并且在函数体中,我对所有异步操作使用wait。有什么明确的方法可以做到这一点吗 例如,我想用仅一个wait关键字包装所有异步操作: Future<void> _clearTables()async{ await{ dbHelper.deleteDailyQuestions(); dbHelper.deletePureCards(); dbHelp

在我的代码中,有一些函数将执行异步操作。因此,我将函数标记为async,并且在函数体中,我对所有异步操作使用
wait
。有什么明确的方法可以做到这一点吗

例如,我想用仅一个
wait
关键字包装所有异步操作:

    Future<void> _clearTables()async{
      await{
        dbHelper.deleteDailyQuestions();
        dbHelper.deletePureCards();
        dbHelper.deleteStudiedCards();
      }
    }
Future\u clearTables()异步{
等待{
dbHelper.deleteDailyQuestions();
dbHelper.deletePureCards();
dbHelper.deleteStudiedCards();
}
}

您可以添加wait for所有未来返回函数

    Future<void> _clearTables()async{
      await dbHelper.deleteDailyQuestions();
      await dbHelper.deletePureCards();
      await dbHelper.deleteStudiedCards();
    }
Future\u clearTables()异步{
等待dbHelper.deleteDailyQuestions();
等待dbHelper.deletePureCards();
等待dbHelper.deleteStudiedCards();
}

也许您应该尝试使用RxDart运算符,如
swithmap
concatMap
?它在前端开发中很有意义。你可以学,也可以学。根据您想要获取值的时间,您应该使用适当的运算符。如果每个函数都已完成,则可以决定获取值,或者仅从最快的函数获取结果。这里有很多选择。我的建议是找到与JavaScript代码相关的问题,然后在Dart中重用它。

如果您想连续等待每个
未来的
,可以使用,如果您想同时等待所有这些
,也可以使用。我想我需要一些睡眠