我有以下的情况下,我需要在我的代码来处理:的Java实现来处理回调消息
public class Class1 {
IRequester requester;
public Class1(Requester impl) {
requester = impl;
}
public List doSomething() {
requester.request1(); // sends messages to a set of nodes
//do some more local processing
list = requester.request2(); // sends some more messages and returns a list
return list;
}
}
在这种情况下request1()将请求发送到一组节点,并返回这将是一个结果用于本地处理更多,然后request2()返回一个列表。这需要在doSomething()的执行结束时返回。 request1()和请求2()通过请求者这类型的IRequester
public interface IRequester {
request1();
List request2();
}
现在request1()和请求2()由实际执行请求的类来实现完成。这是处理节点之间通信的类。
public NetworkManager implements IRequester {
request1() {
// Create an operation
// Add callback to the operation
// schedule operation
}
request2() {
}
}
现在,我的问题是,当我实现request1()在这里有我需要创建将消息发送到该节点的过程。此过程可以附带回调。节点响应时返回结果。我如何实现这个功能,以便在我的请求1结束时返回结果?
你不能,因为你不知道它需要多长时间到节点得到的信息为你准备好,你需要他们之间的一个回调 –