Ich möchte mehrere asynchrone Aufgabe mit Async-Paket ausführen. Aber ich habe Probleme mit JavaScript-Prototypen zugreifen."this" zurück undefined in einer Prototyp-Funktion
Hier ist die Probe meiner Code:
var env = function(options) {
this.options = options;
}
env.prototype.run = function() {
var self = this,
async.series([
self.task1,
self.task2
], function done(responses) {
console.log(responses);
});
}
env.prototype.task1 = function() {
console.log(this.options); // undefined
// logic code...
}
var foo = new env({foo: 'bar'});
foo.run(); // undefined - from console.log
Sie wissen nicht, warum ich nicht die 'this' Eigenschaften meines Object Dieser Code
Press th'Run Code snippet' Taste und siehe 'Uncaught Syntaxerror: unerwartete token' – GillesC
Stapel Snippets sind für ** runnable ** Beispiele, aber die oben ist nicht ausführbar. Ein ausführbares Beispiel ist sehr nützlich, da es sicherstellt, dass Sie wichtige Informationen nicht ausgelassen haben und dass die Leute das Problem sehen können. Es macht es auch für die Menschen einfach, Ihnen einen funktionierenden Fix zu zeigen. Wenn Sie es nicht runnable machen wollen, benutzen Sie einfach einen Codeblock (den '{}' Toolbar-Button), aber ich ermutige Sie, Snippets weiter zu verwenden - machen Sie sie einfach runnable. –
Ich habe gerade festgestellt, dass, während die Präsentation ein wenig anders als die üblichen ist, im Grunde ist dies ein Duplikat der Frage, die ich gerade verknüpft habe. Hoffentlich hilft diese Frage anderen, die 'async.series' verwenden, die das gleiche Problem haben. –