gpt4 book ai didi

java - 如何处理 bean 需要服务器调用作为其初始化的一部分的情况

转载 作者:太空宇宙 更新时间:2023-11-04 14:52:58 24 4
gpt4 key购买 nike

我有以下构造函数...

@Inject
public EditorPresenter(final EventBus eventBus, final MyView view, final Provider<DataProvider> provider) {

DataProvider provider = provider.get();
provider.getInitData().fire(new Receiver<List<DataElement>>() {

@Override
public void onSuccess(List<DataElement> response) {
LOG.info("seting feed types to {}", response);
EditorPresenter.this.data = response;
}
});
}

此构造函数将类字段数据设置为请求工厂调用中返回的值。

问题是该数据需要调用服务器,因此是异步的。

当构造函数返回时,需要设置此字段,因为其他对象/bean 依赖于它(我遇到了依赖于数据初始化的后续错误)。

使用 Gin 处理这种情况最有效、最轻量的方法是什么?

我希望 GIN 中内置一些东西可以优雅地处理这种情况。

最佳答案

GQuery Promise 解决了这种情况:

类似于:

public void yourMethod(....) {
....

getDataFromServer(provider).then(processData)
.done(new Function() { public void f(){
continueYourFlow();
}})
.fail(new Function() { public void f(){
handleError();
}});
}

protected Promise getDataFromServer(final Provider<DataProvider> provider) {
return new PromiseRF(provider.getInitData());
}

Function proccessData = new Function() { public void f() {
List<DataElement> data = arguments(0);
//do something with your data
}};

应该可以工作。如果没有,就问吧!

关于java - 如何处理 bean 需要服务器调用作为其初始化的一部分的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23540577/

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