ta.setStyle("width", "100%");
final Console console = Y.newConsole(ConsoleConfig.create());
console.render();
AsyncQueueItem aqItem = AsyncQueueItem.create().id("aq1").iterations(5).timeout(150).fn(new SimpleCallback() {
@Override
public void call() {
ta.set("text", ta.get("text") + " - 1");
}
});
AsyncQueueItem aqItem2 = AsyncQueueItem.create().id("aq2").iterations(6).timeout(100).fn(new SimpleCallback() {
@Override
public void call() {
ta.set("text", ta.get("text") + " - 2");
}
});
AsyncQueueItem aqItem3 = AsyncQueueItem.create().id("aq3").iterations(6).timeout(100).fn(new SimpleCallback() {
@Override
public void call() {
ta.set("text", ta.get("text") + " - 3");
}
});
// All AsyncQueue instances will execute all callbacks
// synchronously by default
Y.AsyncQueue().defaults().timeout(-1);
final AsyncQueue aq = Y.newAsyncQueue().add(aqItem).add(aqItem2).add(aqItem3);
ta.set("text", "indexOf A = " + aq.indexOf("aq1"));
EventCallback<AsyncQueueEvent> callback1 = new EventCallback<AsyncQueueEvent>() {
@Override
public void call(AsyncQueueEvent e) {
console.log("Event type: " + e.type(), "", "");
}
};
aq.on(new String[] { AsyncQueue.EVENT_COMPLETE, AsyncQueue.EVENT_SHIFT, AsyncQueue.EVENT_PROMOTE }, callback1);
// a button to start and later promote item 3
Y.newButton(ButtonConfig.create().label("start").on("click", new EventCallback<EventFacade>() {
@Override
public void call(EventFacade e) {
aq.run();
JsUtil.setTimeout(new SimpleCallback() {
@Override
public void call() {
aq.promote("aq3");
}
}, 200);