Ci sono alcune funzioni, questo è qualcosa che funziona a lungo e fornisce callback.Come passare il contesto alla funzione anonima?
someFunc: function(argument, callback, context) {
// do something long
// call callback function
callback(context);
}
In applicazione io uso questa funzione
someFunc('bla-bla', function (context) {
// do something with this scope
context.anotherFunc();
}, this);
Come implementare la funzione di callback senza passare context
parametro?
bisogno di un po come questo:
someFunc('bla-bla', function() {
// do something with this scope
this.anotherFunc();
}, this);
Quindi nel tuo ultimo esempio sembra che tu stia passando il contesto (a qualcosa almeno) sei solo curioso su come fare riferimento all'argomento se non viene chiamato? –
Stai passando il parametro, semplicemente non lo stai usando. E non capisco perché. – bfavaretto
@bfavaretto: OP lo sta usando passandolo nel callback in modo che la callback possa sfruttare i metodi del valore esterno 'this'. Quindi la domanda è come ottenere l'ultimo blocco di codice ... ottenendo il corretto 'this' nel callback in modo che non debba essere passato come argomento. –