Zunächst kann ich nicht sehen, was passObj genau ist, anscheinend ist es woanders definiert.
Zweitens funktionieren Callback-Funktionen nicht so, wie Sie zu denken scheinen. In der Regel ist ein Grund für die Verwendung asynchroner Aufrufe, sodass die Rückgabe eines Werts nicht sinnvoll ist.
Die Idee ist wie folgt. Normalerweise haben Sie einen Anruf wie folgt aus:
var myFunc1 = function(){
return 42;
}
var x = myFunc1();
myFunc2(x);
jedoch, wenn MyFunc1 ist ein asynchroner Aufruf Rückkehr ein Wert ist unmöglich, ohne irgendeine Art von Versprechen mit, das ist ein Thema für sich allein. Wenn also myFunc1 ein asynchroner Anruf war und die 42 z.B. Wenn ein Server einen Wert zurückgibt, wird der Wert null, weil der Rückgabewert noch nicht berechnet und empfangen wird, wenn Sie bei return ankommen.
Dies ist ein Grund für Callbacks eingeführt werden. Sie arbeiten so, dass asynchrone Anrufe möglich sind und Sie nach dem Anruf so weitermachen können, wie Sie möchten. Um auf dem Beispiel oben zu zeigen:
var myFunc1 = function(myFunc2, params){
// do async stuff here, then call the callback function from myFunc1
...
myFunc2(x);
}
So die asynchrone Funktion gibt nichts zurück. Es macht die Aufrufe oder Berechnungen, die es vornehmen muss, und wenn das erledigt ist (in dem Beispiel, in dem x deklariert und ein Wert zugewiesen wurde), wird myFunc2, die in unserem Beispiel die Callback-Funktion ist, direkt von der asynchronen Funktion aufgerufen.
Lange Rede kurzer Sinn - tun Sie, was Sie mit x direkt in der Callback-Funktion tun müssen.
So nannten sie es 'callback hell' – Yarco
Danke ich habe es (y) –
@ MäHį JįlläNį Wenn ich dein Problem gelöst habe, bitte mach es als die Antwort, damit ich ein bisschen Ansehen bekommen kann. ;) Aha – Yarco