簡體   English   中英

注銷前更新 firebase 數據

[英]update firebase data before signout

我使用一個按鈕從應用程序中退出,需要在退出前更新數據。

但在更新數據之前,用戶注銷。! 這會在不更新數據的情況下出錯。

那么如何解決這個問題呢?

這是我的代碼

在此處輸入圖像描述

在此處輸入圖像描述

由於 dart 事件循環,首先,完成一個同步代碼,在你的情況下是:

Navigator.of(context).pop()

然后,它以完成的順序完成未來,這意味着更快的響應 - 更快的完成。 為了使您的異步代碼(期貨)像同步一樣完整,您應該在期貨之前傳遞 await 關鍵字,例如,它的工作方式如下:

await auth.UpdateData('state', 'offline'); // - completes first
await _signout(context); // - second
Navigator.of(context).pop; // - third

如果您不使用 await 關鍵字,訂單將如下所示:

auth.UpdateData('state', 'offline'); // - query send and wait for response
_signout(context); // - query send and wait for response (logout is usually faster than setting data, that means your user signout first, then - user update data)
Navigator.of(context).pop; // - completes first

解決方案1:

Future.delayed(const Duration(seconds: 2), () {
//what you want after 2 second
});

解決方案 2:將 await 放在 auth.updatData 之前

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM