gpt4 book ai didi

android-studio - 当在异步方法中使用 await 时,Dart 正在跨过代码行

转载 作者:IT王子 更新时间:2023-10-29 06:43:55 25 4
gpt4 key购买 nike

在我的 Flutter 项目中,我有以下代码:

if(await model.login(loginMailTextController.text, 
loginPasswordTextController.text)){
Navigator.of(context).pushReplacementNamed("/main");
}

此代码在我的模型中调用此函数:

Future<bool> login(String mail, String password) async {
_auth.signInWithEmailAndPassword(email: mail, password: password);
return true; //Makes no sense, only for testing
}

它按预期工作并且调用了导航器方法,但是如果我在 signInWithEmailAndPassword 方法之前添加 await:

Future<bool> login(String mail, String password) async {
await _auth.signInWithEmailAndPassword(
email: mail, password: password);
return true; //Debugger won't stop there when a breakpoint is set
}

那么 if 语句中的表达式为假。此外,当在标记行上设置断点时,调试器不会停止。在 signInWithEmailAndPassword 方法上设置断点就像 charme 一样。

这是错误还是我弄错了?

最佳答案

“if statement is false”看起来像 await _auth.signInWithEmailAndPassword( throws and the exception is not reported or similar.

尝试用try/catch包裹代码

关于android-studio - 当在异步方法中使用 await 时,Dart 正在跨过代码行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52758703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com