Wenn ich Code wie folgt:Mit einem Javascript-Versprechen, wie man über lokale Variablen zum übergeordneten Bereich in einem `dann` schließt?
Blog.add = function(account) {
const url = 'http://fetchdata.com';
response = HTTP.post(url);
response.then(function(response) {
// There is no access to account or url here.
});
};
Als ich in der then
Schließung brechen, ich sehe, dass this
auf das globale Objekt gebunden ist, die mir fremd zu sein scheint. Sollte es nicht an die add
Funktion gebunden sein ?. Ich habe Pfeilfunktionen mit dem gleichen Ergebnis versucht. Ich verstehe definitiv nicht, was hier vorgeht ...
Aber es gibt * Zugang zu "account" und "url" in dieser Funktion. Nicht über 'dies ', da dies nur einfache In-Scope-Variablen sind. – Pointy
Sie haben var, let oder const nicht verwendet, um die Antwort zu deklarieren. Das macht es zu einer globalen Variable, oder? –
@RobLouie guten Fang, aber es ist auch wirklich wichtig zu sehen, wie Blog.add() aufgerufen wurde. Außerdem haben wir jetzt schon Erklärungen hier. – Rohit416