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

时间:2020-05-31 15:25:24

标签: android ios google-chrome flutter flutter-layout

我将来有两个功能,一个用于使用API​​验证OTP,另一个用于使用API​​设置密码。

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

我的代码是:

------------------------------------
num     id   parentid       data1
------------------------------------
1048    1       0          a1
1048    4       1          a1-1
1048    5       4          a1-1-1
1048    2       0          a2
1048    3       0          a3
1048    6       3          a3-1
-------------------------------------

它显示错误或未调用函数。我现在该怎么办? 预先感谢。

2 个答案:

答案 0 :(得分:1)

使用then回调

registrationService.verifyOtp(registrationData.mobileNumber,otpController.text).then((status) {

if(status == 'approved'){
   print('success');

registrationService.setPassword(registrationData.name, registrationData.number, passController.text).then((response) {

//....
})))

}

答案 1 :(得分:1)

为创建第二个异步函数

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

并将其称为;

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

然后只使用passwordStatus值。