是否有可能在GWT中重载异步回​​调?

时间:2010-10-29 06:17:16

标签: oop gwt callback overloading

我在服务器端有一个重载的查询方法。我想知道是否可以重载异步回​​调,具体取决于方法签名?或者是否建议定义两个不同的asyncallbacks?这是我服务器的两种方法。

public String fetchInADay(String startTime, String endTime) {}

public String fetchInADay(String startTime, String endTime, String type) {}

顺便说一句,请评论:

如果我被要求进行两次不同的回调,这不符合OO的原则吗?

2 个答案:

答案 0 :(得分:1)

我假设你打算重用onSuccess(String result)中实现的逻辑。这可以很好地独立于您调用的服务方法。您甚至可以在多个呼叫中共享同一个实例。

由于javascript是单线程的,因此您可以确保多个异步调用的响应(onSuccess()调用)不会相互干扰。但是由于这些调用的异步性质,它们的回调顺序将无法保证。

答案 1 :(得分:1)

在这种情况下无法重载异步回​​调,因为onSuccess方法将具有相同的签名。

您可以将相同的AsyncCallback对象传递给多个服务,但它无法分辨哪个服务或函数调用它。如果您希望不同的服务调用具有不同的行为,则需要两个不同的回调。