Am 21.10.2022 um 14:59 schrieb Jan Novak:
> function apicall(what, array, callback){
> ...
> window[callback](data);
...
> apicall("getAllDatesTable",data,"meinCallback");
Sowas macht man besser nur in Ausnahmefällen, wenn man als callback nur
einen String übergeben kann (das ist z.B. der Fall, wenn man ein
Formular-Ergebnis als jsonp erhalten muss, oder mit einem WebWorker
kommuniziert).
Besser ist, die Funktion direkt zu übergeben:
function apicall(what, array, callback) {
...
callback(data);
...
apicall("getAllDatesTable", data, meinCallback);
Dann geht auch das...
> apicall("getAllDatesTable",fdata,"this.meinCallback");
...relativ geradlinig:
apicall("getAllDatesTable", fdata, this.meinCallback.bind(this));
oder, etwas ausführlicher
/* aktuelles this festhalten, weil die anonyme Funktion
ihr eigenes this sieht */
var me = this;
/* als callback eine anonyme Funktion übergeben, die an
meinCallback weiterleitet */
apicall("getAllDatesTable", fdata, function(data) {
me.meinCallback(data);
});
Stefan