In diesem Beitrag geht es um die callLater-API, welches im Google Tag Manager-Server benutzt werden kann.
callLater API kurz erklärt
Mit der callLater-API kann ein Funktionsrückruf asynchron ausgeführt werden, nach der kurzmöglichsten Verzögerung. Als Parameter nimmt die callLater-API eine Funktion entgegen.
Beispiel und Syntax
Die API kann wie folgt importiert werden:
const callLater = require('callLater');
Anschließend kann eine Funktion als Parameter mitgegeben werden:
const callLater = require('callLater');
const logToConsole = require('logToConsole');
callLater(() => {
logToConsole('Irgendwas loggen');
});
callLater API mit Beispiel
Die callLater API ist im Grunde die setTimeout-Methode mit 0 Millisekunden als Wert:
setTimeout(function() {console.log('Irgendwas loggen')}, 0)
Mit dieser Methode kommt die Funktion vom Call-Stack in den Queue und dann über den Event-Loop wieder in den Call-Stack für die Ausgabe. Das heißt, der Code wird erst dann ausgeführt, wenn der aktuelle Code fertig verarbeitet und ausgeführt wurde. Hier ein Beispiel-Code:
const callLater = require('callLater');
const logToConsole = require('logToConsole');
callLater(() => {
logToConsole("Erster");
});
logToConsole("Zweiter");
logToConsole("Dritter");
Demnach würden wir folgendes Ergebnis bekommen:
Zweiter
Dritter
Erster
Da die callLater API über den Queue gehen muss, verzögert sich die Ausgabe, da zuerst der komplette Call-Stack ausgeführt wird. Erst dann kommt die callLater-Ausgabe.