Also habe ich einige Nachforschungen darüber angestellt, wie JavaScript tatsächlich single-threaded ist, obwohl es Multithread zu sein scheint (oder wenigstens so verstehe ich es), und ich frage mich, ob die folgende Funktion vor einigen abgeschlossen werden könnte andere Funktion wird aufgerufen.Sind JavaScript-Listenoperationen synchron?
Ich bin ziemlich sicher, dass es ist, aber der Anruf zu push()
macht mich sorgen, dass, wenn es aufgerufen wird, einige andere Funktion zuerst ausgeführt werden kann. Davon abgesehen kann ich mir keinen lang laufenden Code vorstellen, der in push()
laufen würde.
// adds a new node to children, after checking if its UID is not in childrenAdded
this.addChild = function(newChild) {
if (!_this._childrenAdded[newChild.uid]) {
_this._childrenAdded[newChild.uid] = true;
_this._children.push(newChild);
}
}
Wir haben keine Ahnung, was '_dies' ist oder wie' this.addChild' aufgerufen wird, aber der Rest des Codes, der auf Member mit Klammern zugreift und zu einem Array pusht, ist sicherlich ** synchron **. Im Grunde genommen sind nur Timer, Ajax und andere Anfragen in den Clients asynchron. JS – adeneo
Es gibt nichts, das mit diesem Code asynchron ist. – epascarello