如果准备就绪,则添加到队列

时间:2013-04-19 10:20:04

标签: java android queue

我正在使用一个复杂的封闭api。我想创建一个超级简单的方法来使用它。 基本上,它有以下行为:

boolean everythingReady = false;

API.start(new Callback() {
    public void onReady()
    {
        API.invite(new Callback2() {
            public void onReady()
            {
                everythingReady = true;
            }
        });
    }
});

while (!everythingReady); // Wait

API.send("hello);
API.send("What's up");

这是一个聊天API,上面的代码是“伪”java。

我现在想做的是:

API.start();
API.invite();
API.send("Hello);
API.send("What's up");

这些方法会等到上面的每个方法都被正确加载(onReady被调用)才能运行。 (例如:if (!apiStarted) addToQueue else do invite

有没有办法在java中执行此操作(因为我无法在所有API源代码中进行编辑)。 感谢

1 个答案:

答案 0 :(得分:0)

怎么样:

API.start(new Callback() {
    public void onReady()
    {
        API.invite(new Callback() {
            public void onReady()
            {
                API.send("hello");
                API.send("What's up");
            }
        });
    }
});

这样,只有在invite准备就绪后才会调用send方法。