Flutter中的onPressed异步函数不等待cubit/存储库的等待函数是因为onPressed是一个回调函数,它不会等待异步操作完成。这意味着在调用cubit/存储库的等待函数时,onPressed函数会继续执行,而不会等待等待函数的结果返回。
为了解决这个问题,可以使用async/await关键字来确保onPressed函数等待cubit/存储库的等待函数完成。具体步骤如下:
以下是一个示例代码:
onPressed: () async {
// 其他代码...
// 等待cubit/存储库的等待函数完成
await cubit.waitFunction();
// 继续执行其他代码...
}
在这个示例中,onPressed函数使用了async关键字标记为异步函数,并使用await关键字等待cubit.waitFunction()函数的结果返回。这样,onPressed函数会等待cubit.waitFunction()函数完成后再继续执行其他代码。
领取专属 10元无门槛券
手把手带您无忧上云