如何在颤振中调用另一个异步函数中的一个异步函数



我有两个未来的函数,一个用于使用 API 验证 OTP,另一个用于使用 API 设置密码。

OTP 验证成功后,必须调用设置的密码 API。我该怎么做?

我的代码是:

() async {
var status = await registrationService.verifyOtp(registrationData.mobileNumber,otpController.text);
if(status == 'approved'){
print('success');
() async {
var passwordStatus = await registrationService.setPassword(registrationData.name, registrationData.number, passController.text);
if(passwordStatus == 'approved'){
print('approved');
Navigator.pushNamed(context, StudMainPage.id);
}
else{
WidgetsBinding.instance.addPostFrameCallback((timeStamp) => _showNewVersionAvailableDialog(context));
}
};
}
}

它显示错误或未调用函数。我现在应该怎么做? 提前谢谢。

使用then回调

registrationService.verifyOtp(registrationData.mobileNumber,otpController.text).then((status) {
if(status == 'approved'){
print('success');
registrationService.setPassword(registrationData.name, registrationData.number, passController.text).then((response) {
//....
})))

}

创建第二个异步函数

Future<PasswordStatus> getPasswordStatus() async {
await registrationService.setPassword(registrationData.name, registrationData.number, passController.text);
}

并将该函数调用为;

if(status == 'approved'){
var passwordStatus = await getPasswordStatus();
}

然后只需使用密码状态值。

相关内容

  • 没有找到相关文章

最新更新