Gwt 带有Gin和AsyncProvider的ActivityMapper

Gwt 带有Gin和AsyncProvider的ActivityMapper,gwt,gwt-gin,Gwt,Gwt Gin,我刚刚开始了一个用的项目 ActivityMapper看起来像: public interface Factory { HomeActivity homeActivity(); GreetingActivity greetingActivity(String user); } private final Factory factory; @Inject MainActivityMapper(Factory factory) { this.factory = fact

我刚刚开始了一个用的项目

ActivityMapper看起来像:

public interface Factory {
    HomeActivity homeActivity();

    GreetingActivity greetingActivity(String user);
}

private final Factory factory;

@Inject
MainActivityMapper(Factory factory) {
    this.factory = factory;
}

@Override
public Activity getActivity(Place place) {
    if (place instanceof HomePlace) {
        return factory.homeActivity();
    }
    if (place instanceof GreetingPlace) {
        GreetingPlace greetingPlace = (GreetingPlace) place;
        return factory.greetingActivity(greetingPlace.getUser());
    }
    logger.severe("Unhandled place type: " + place.getClass().getName());
    return null;
}
我现在尝试使用基于的AsyncProvider实现代码拆分,但无法使其正常工作

使用ActivityAsyncProxy时,我应该怎么做?是否从getActivity(Place)返回ActivityAsyncProxy?但是,如何从工厂创建ActivityAsyncProxy


您建议如何使活动映射器与代码拆分配合使用?

AFAICT,您不能将
AsyncProvider
与辅助注入配合使用(这将是对GIN的一个很好的补充)。这意味着您无法从生成的
runAsync
调用中获益,您必须自己执行这些调用

看一看关于这个问题的讨论,并提出几点建议


另外,请看一下我自己对它的看法(也可在上获得)。

感谢代码示例Thomas,您能否澄清我应该在void-doAsync(runasyncallback)中实现什么;和活动createInstance();这有点让人困惑,我可以使用GIN来实现createInstance(),并为doAsync()实现AsyncProvider吗?我只是在要点中添加了一条注释,并给出了一个使用示例。