我的dart程序中有一些与SQLite数据库交互的异步函数。我使用await表达式来调用这些函数,并且大多数函数在等待它们时执行,但是一个函数不执行,并且调用函数继续执行而无需等待被调用函数。这是代码:
addItemsToShoppingList
在我的外部类中,我等待getListId()
函数来启动整个函数链。运行代码时,我看到正确地等待了函数addShoppingList()
,addItemsToShoppingList
(直到执行了等待的函数,addShoppingListItems
的执行才进行),但是当我在{ {1}},调用函数的执行不会等到addShoppingListItems
返回。我在这里遗漏了什么?如何确保addShoppingListItems
返回,然后才能继续执行调用函数?
答案 0 :(得分:0)
我发现问题在于正在使用的映射的每个循环中等待异步函数的方式。我通过此处提供的解决方案解决了这个问题:Map forEach function exits with an await inside