In anderen Sprachen war ich gewohnt, Anweisungen in Reihenfolge wie 1,2,3 auszuführen. JS funktioniert nicht so. Ich brauche sehr einfachen JS-Code, um sicherzustellen, dass die Anweisungen 1,2,3 und nicht 2,1,3 einmal und 3,1,2 der nächste ausgeführt werden.Rückruf JS Code
Antwort
JavaScript ist in der Reihenfolge ausgeführt.
function doSomething(x) {
console.log('did something', x);
}
console.log(1);
console.log(2);
console.log(3);
doSomething(1);
doSomething(2);
doSomething(3);
Ich entschuldige mich. Das spezielle Problem ist, dass Daten, die von Funktion 1 zurückgegeben werden, für Funktion 2 verfügbar sein müssen. Die Funktionen werden nacheinander ausgeführt - START in der Reihenfolge, aber nicht in der Reihenfolge. Function2 kann erst starten, wenn Funktion1 beendet ist. Es muss warten bis Funktion1 beendet ist. Hier kommt der Rückruf ins Spiel. –
@LawrenceJohnson - Sie könnten in Betracht ziehen, [Versprechen] (https://developers.google.com/web/fundamentals/getting-started/primers/promises) zu prüfen. –
In anderen Sprachen wurde ich auf Anweisungen verwendet werden, um wie 1,2,3 ausgeführt. JS funktioniert nicht so.
Eigentlich funktioniert JavaScript genau so.
Klingt so, als ob Sie eine Funktion mit einem Callback aufrufen, um etwas asynchron zu tun. Lass uns ein Beispiel versuchen.
console.log('1');
doSomethingLater(function callback() {
// This is my callback code
console.log('3');
});
console.log('2');
wird der Ausgang 1, 2, 3 sein
Was, wenn Sie tun doSomethingLater
ruft vorbei einen Verweis auf eine anonyme Funktion als Parameter. doSomethingLater
wird diese Funktion nicht aufrufen, bis sie programmiert ist, was normalerweise einige Zeit später ist.
Wenn wir den Rückruf ignorieren, ist es sehr einfach zu sehen, dass die Dinge in der richtigen Reihenfolge ausgeführt werden.
console.log('1');
doSomethingLater();
console.log('2');
Diese drei Anweisungen werden in der richtigen Reihenfolge ausgeführt.
Um den Punkt weiter zu veranschaulichen, betrachten Sie ein Beispiel mit setTimeout()
, wo wir nur anderen Code nach einer Sekunde ausführen. (Wenn Sie mit setTimeout()
nicht vertraut sind, geht die zuerst nachschauen und dann hier wieder zum Lesen zu halten.)
console.log('1');
setTimeout(function() {
console.log('3');
}, 1000);
console.log('2');
In diesem Beispiel wir versuchen nicht, den Rückruf, bis eine Sekunde nach setTimeout()
auszuführen heißt also grundsätzlich eine Sekunde nach console.log('2')
;
- 1. Implementierung einfacher Rückruf in JS
- 2. Vue js google reCaptcha Rückruf
- 3. Rückruf ist kein Funktionsknoten js
- 4. Rückruf leer Array zurückgeben js
- 5. Diagramm js v2 Tooltip Rückruf Zeilenumbrüche
- 6. Unmanaged Code aufrufen vb.net Rückruf
- 7. Knoten JS | Schleife, die auf Rückruf wartet?
- 8. Rückruf ist keine Funktion in Knoten js
- 9. JS + JS = defekter Code?
- 10. Knoten js request.post Rückruf nicht feuern
- 11. Versprechen Rückruf nicht in Angular JS genannt
- 12. NSURLConnection Rückruf Rückruf
- 13. JavaScript - Rückruf vs Rückruf()
- 14. Wie verwenden Sie Rückruf oder Versprechen in Knoten js?
- 15. Wie Versprechen in Rückruf in Knoten js konvertieren? Hier
- 16. -Code-Injektion mit ExecuteScript nie Rückruf rufen in Chrome-Erweiterung
- 17. Ausgabe des js Code
- 18. Fehler in JS-Code
- 19. js decoding morse code
- 20. JS-Code priorisieren
- 21. Vereinfachen Sie JS-Code
- 22. Code HPE_INVALID_METHOD Knoten js Hapi js
- 23. JS: Innere Funktionsargumente in asynchronen Funktionen erhalten und Rückruf ausführen
- 24. Wie Js-Code Kaffee-Code ändern
- 25. Rückruf, wenn Liste in CoffeeScript/JS bearbeitet wird
- 26. Rückruf anders als Aufruf einer Funktion von einer anderen (JS)?
- 27. Wie verwendet man Rückruf in $ http Angular JS?
- 28. Q verspricht in Node js v/s Rückruf
- 29. JS: Wie Generator und Ertrag in einem Rückruf verwenden
- 30. Nodejs Mysql Rückruf im Rückruf
Schritt 1: zeigen Sie Ihren Code. Schritt 2: Erklären Sie das Problem mit dem Code. –
Das könnte Sie interessieren: https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop. –
Hallo, und willkommen bei StackOverflow! Wir würden uns freuen, Ihnen helfen zu können, aber vielleicht haben Sie nach dem Lesen der Hilfeartikel wie [Wie stelle ich eine gute Frage?] (Http://stackoverflow.com/help/how-to-ask), und [andere] (http://stackoverflow.com/help/asking). Aber froh, dass du hier bist, Dad. :) –