【发布时间】:2021-10-10 04:51:01
【问题描述】:
我想验证用户的电话号码,然后只允许该用户注册。但是为此,当我调用verifyPhoneNumber 时,即使我申请await 它也不会等到验证完成。它执行下一行。所以我想要做的是除非verificationCompleted,verificationFailed,codeAutoRetrievalTimeout中的任何一个完成我想等待然后只执行为数据库中的用户创建文档的代码。
任何帮助将不胜感激!!!
static Future signUp(BuildContext context, String name, String phoneNumber,
String email, String gender) async {
await auth.verifyPhoneNumber(
phoneNumber: phoneNumber,
verificationCompleted: (credential) async {
await auth.signInWithCredential(credential);
},
verificationFailed: _verificationFailed,
codeSent: (String verificationId, int resendToken) async{
await _codeSent(verificationId, resendToken, context);
},
codeAutoRetrievalTimeout: (String timeout) {});
if (auth.currentUser != null) {
await DB.users.doc(auth.currentUser.uid).set({
name: name,
phoneNumber: phoneNumber,
email: email,
});
}
return;
}
谢谢!!
【问题讨论】:
标签: flutter dart asynchronous async-await firebase-authentication