Widget.queue
Widget.queue.push(task, options?): Promise<boolean>Widget.queue.clear(): voidPone una tarea en la cola. Las tareas salen de una en una, así que dos eventos seguidos no se pisan.
Widget.on("Twitch.Follow", ({ user }) => { Widget.queue.push(() => { Widget.dom.text(banner, Widget.t("thanks", { name: user })); banner.classList.add("visible"); return () => banner.classList.remove("visible"); }, { duration: 6 });});- Si la tarea devuelve una función, se llama al acabar su duración: ahí se quita lo que se puso.
options.duration: segundos que dura (por defecto,manifest.queue.durationSeconds, que son 5).options.priority: con prioridad pasa delante de las de menos.options.group: al empezar, se pliegan en esta tarea las pendientes de su grupo, y recibe cuántas enfolded.- La tarea recibe
{ folded, signal }.signales unAbortSignal: míralo tras cada espera, antes de pintar. - Una tarea dura como mucho
manifest.queue.taskLimitSeconds(90 s). Con la cola llena (manifest.queue.maxPending, 50) se descarta lo de menos prioridad. - El resultado es
truesi se mostró yfalsesi se descartó, se plegó o se vació la cola.
Vacía la cola y termina la tarea que se está viendo: aborta su signal y su función final corre igual.