【发布时间】:2020-10-22 21:13:06
【问题描述】:
String random_username ;
bool available = false;
int n = 0;
do{
random_username = SuperHero.random()+(n.toString());
n = n+1;
print(random_username);
checkUsernameAvailable(random_username).then((value){
available = value;
});
}while(!available);
我想做的是当一个新用户在 Firebase Auth 中注册时,我想为该用户创建一个随机用户名,以后可以更改。 此代码应该生成一个用户名,检查它是否已经在 firebase 数据库中。如果否,则离开循环,否则添加后缀号并重试。 (我错误地将名称生成器放在循环中,所以每次它都会得到一个新名称,现在没关系)。 checkUsernameAvailable 如果不匹配,即可用,则返回“true”。反之亦然。
问题是循环永远持续下去。这可能是由于异步方法,即 checkUsernameAvailable。 请帮忙。
【问题讨论】:
-
检查
Future.doWhile
标签: firebase flutter asynchronous dart async-await