我想在第一个请求完成后发出get请求,因为我需要从第一个请求的响应中发送数据,并带有第二个请求的主体到服务器。.我如何使用getx执行此操作
谢谢
class ProductsController extends GetxController with StateMixin<Posts> {
@override
void onInit() {
getData();
super.onInit();
}
getData() async {
try {
change(null, status: RxStatus.loading());
await postsApiProvider
.getPosts()
.then((value) {
change(value, status: RxStatus.success());
});
} catch (exception) {
change(null, status: RxStatus.error(exception.toString()));
}
}
// i want this function fire after getData()
_getRelated() async {
try {
await postsApiProvider
.getRelated(
price: value.region ----> because i need access to getDate values
)
.then((value) {
});
} catch (e) {
debugPrint(e.toString());
}
}
}
我试过那种方法,但不管用:
@override
void onReady() {
_getRelated();
super.onReady();
}
2条答案
按热度按时间lrpiutwd1#
你可以使用
finally
来实现你的结果,但是我建议你为此创建一个函数,这样将来如果你想在第二个函数的回调函数的基础上再添加一个函数,你就可以很容易地实现它。下面是一个例子:
然后你可以调用
onInit
方法中的全局函数:通过使用这种方法,您可以在将来添加更多的函数,并且您的代码看起来会比以前更干净。
8cdiaqws2#
try与finally连用例如