Ich bin Anfänger zu Javascript-Konzepten. Warum bekomme ich den unterschiedlichen Ausgang für die gleiche Variable Länge? Während es das erwartete Ergebnis im Körper zeigt?Konnte die Länge nicht
var length;
element.all(by.className("className")).getText().then(function(items){
length = items.length;
console.log("1st output = "+length);//1
console.log("2nd output = "+items.length);//1
});
console.log("3rd output = "+length);//undefined
Ausgang: - 1. Ausgang = 1
2. Ausgang = 1
3. Ausgang = undefined
3. ist nicht definiert, da es sich um einen asynchronen Aufruf handelt. –
'.then' arbeitet asynchron zu dem Zeitpunkt, an dem der Code in' .then' die Anweisung 'console.log (" 3rd output = "+ length) ausgeführt hat, seine Ausführung beendet hat & zu diesem Zeitpunkt ist" length "nicht definiert .. Sie können diesen Link überprüfen https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call – brk