gpt4 book ai didi

flutter - 如何在命名构造函数中使用异步?

转载 作者:行者123 更新时间:2023-12-03 02:50:41 27 4
gpt4 key购买 nike

我创建了一个类,并且想在命名构造函数中使用异步,或者要在该类之外访问该类中的方法。使命名构造函数返回Future类型时,出现错误消息:Constructors can't have a return type

然后,我尝试删除Future类型,但仍然收到错误消息The modifier 'async' can't be applied to the body of a constructor

如何在命名构造函数中使用异步?

class HttpService {
Future<void> HttpService.getAll() async {
final response = await http.get(
Uri.encodeFull('http://localhost:4000/'),
headers: {'headers': 'application/json'},
);

if (response.statusCode == 200) {}
}
}

我是新手,所以我可能使用错了吗?接受任何指导。

最佳答案

构造函数不能异步。如果您发现自己想要一个异步构造函数,则可以制作一个类似于异步工厂的static异步方法。从调用者的 Angular 来看,there isn't much difference(以及有什么区别主要是使用static方法)。您还可以使所有其他constructors (including the default constructor) private强制调用者使用static方法来获取您的类的实例。

也就是说,在您的情况下,您可能甚至根本不需要一个类。您是否打算对HttpService使用其他方法?您的HttpService是否保持任何内部状态?如果没有,那么拥有独立功能会更好。

关于flutter - 如何在命名构造函数中使用异步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57984622/

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