Utils ​
Owl export a few useful utility functions, to help with common issues. Those functions are all available in the owl.utils namespace.
whenReady ​
The function whenReady returns a Promise resolved when the DOM is ready (if not ready yet, resolved directly otherwise). If called with a callback as argument, it executes it as soon as the DOM ready (or directly).
js
const { whenReady } = owl;
await whenReady();
// do somethingor alternatively:
js
whenReady(function () {
// do something
});EventBus ​
It is a simple EventBus, with the same API as usual DOM elements, and an additional trigger method to dispatch events:
js
const bus = new EventBus();
bus.addEventListener("event", () => console.log("something happened"));
bus.trigger("event"); // 'something happened' is loggedbatched ​
The batched function creates a batched version of a callback so that multiple calls to it within the same microtick will only result in a single invocation of the original callback.
js
function hello() {
console.log("hello");
}
const batchedHello = batched(hello);
batchedHello();
// Nothing is logged
batchedHello();
// Still not logged
await Promise.resolve(); // Await the next microtick
// "hello" is logged only once