Moin,Cordova/Javascript: Methode als Rückruffunktion
Ich fühle mich ein wenig dumm. Ich versuche, die folgende Funktion in die Methoden eines Objekts zu konvertieren:
function listDir(path){
window.resolveLocalFileSystemURL(path,
function (fileSystem) {
var reader = fileSystem.createReader();
reader.readEntries(
function (entries) {
console.log(entries);
},
function (err) {
console.log(err);
}
);
}, function (err) {
console.log(err);
}
);
}
Quelle: Cordova list all files from application directory (WWW)
Aber jeder Art, wie ich es versuchen nicht funktioniert. Ich weiß nicht, wie man die Methoden als Callback-Funktion verwendet, insbesondere wie man die Argumente der Funktion setzt. Mit meinem Code erwarte ich, dass die Ausgabe:
debug: listdir
debug: filesystem
debug: entries
[Array or something]
Aber ich gerade:
debug: listdir
debug: filesystem
Die Übersicht zeigt meinen Code:
function Filelist() {}
Filelist.prototype = {
methodErr: function (err) {
console.log('debug: error');
console.log(err);
},
methodEntries: function (entries) {
console.log('debug: entries');
console.log(entries);
},
methodFilesystem: function (fileSystem) {
console.log('debug: filesystem');
var reader = fileSystem.createReader();
reader.readEntries(this.methodEntries, this.methodErr);
},
methodListDir: function (path) {
console.log('debug: listdir');
window.resolveLocalFileSystemURL(
path,
this.methodFilesystem,
this.methodErr
);
}
}
fl = new Filelist();
$('.klicken').click(function() {
fl.methodListDir(cordova.file.applicationDirectory);
});
Wo ist der Fehler?
Vielen Dank im Voraus!
Jan