在dart中等待异步功能无法正确执行

时间:2019-01-05 12:09:51

标签: asynchronous dart async-await

我的dart程序中有一些与SQLite数据库交互的异步函数。我使用await表达式来调用这些函数,并且大多数函数在等待它们时执行,但是一个函数不执行,并且调用函数继续执行而无需等待被调用函数。这是代码:

addItemsToShoppingList

在我的外部类中,我等待getListId()函数来启动整个函数链。运行代码时,我看到正确地等待了函数addShoppingList()addItemsToShoppingList(直到执行了等待的函数,addShoppingListItems的执行才进行),但是当我在{ {1}},调用函数的执行不会等到addShoppingListItems返回。我在这里遗漏了什么?如何确保addShoppingListItems返回,然后才能继续执行调用函数?

1 个答案:

答案 0 :(得分:0)

我发现问题在于正在使用的映射的每个循环中等待异步函数的方式。我通过此处提供的解决方案解决了这个问题:Map forEach function exits with an await inside