La función queue.defer() en d3.js se usa para agregar la devolución de llamada de tarea asincrónica a la cola. Donde la tarea es una función a ejecutar. La devolución de llamada debe ejecutarse cuando la tarea terminó.
Sintaxis:
queue.defer(task[, arguments…]);
Parámetros: esta función acepta un solo parámetro como se mencionó anteriormente y se describe a continuación:
- tarea: Es una función que se va a ejecutar para realizar una tarea en particular.
Valor de retorno: esta función devuelve el objeto.
A continuación se dan algunos ejemplos de la función anterior.
Ejemplo 1: cuando el tamaño de la cola es igual al número de llamadas a queue.defer().
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" path1tent="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> </style> <body> <script src = "https://d3js.org/d3.v4.min.js"> </script> <script> function a(){ console.log("from a") } function b(){ console.log("from b") } function c(){ console.log("from c") } let q=d3.queue(3) // Calling defer three times q.defer(b) q.defer(a) q.defer(c) console.log(q) console.log("Size of q is: ",q._size) </script> </body> </html>
Producción:
Ejemplo 2: cuando el tamaño de la cola es menor que las llamadas queue.defer().
HTML
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" path1tent="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <style> </style> <body> <script src = "https://d3js.org/d3.v4.min.js"> </script> <script> function a(){ console.log("from a") } function b(){ console.log("from b") } function c(){ console.log("from c") } let q=d3.queue(1) // Calling defer three times but it will add only function // call b because the size of the queue is one. q.defer(b) q.defer(a) q.defer(c) console.log(q) console.log("Size of q is: ",q._size) </script> </body> </html>
Producción: