¿Cómo creo una función / devolución de llamada anónima de JavaScript con la interoperabilidad JS de Dart?
Estoy usando Dart y suInteroperabilidad JS. Necesito convertir el siguiente código JavaScript a Dart:
ID3.loadTags("filename.mp3", function() {
var tags = ID3.getAllTags("filename.mp3");
if (tags.artist)
artist.textContent = tags.artist;
if (tags.title)
track.textContent = tags.title;
}, {
dataReader: FileAPIReader(file)
});
Tenga en cuenta la devolución de llamada anónima como el segundo parámetro paraloadTags
. ¿Cómo creo eso con Dart y eldart:js
¿biblioteca?
Lo más cercano que obtuve fue crear una función con nombre con:
js.context['loadTagsCallback'] = () {
var tags = ID3.callMethod('getAllTags', ["filename.mp3"]);
var artistTag = tags['artist'];
var titleTag = tags['title'];
if (artistTag != null) {
artist.text = artistTag;
}
if (titleTag != null) {
track.text = titleTag;
}
};
Y luego usando este código Dart:
ID3.callMethod('loadTags', [
"filename.mp3",
js.context['loadTagsCallback'],
new js.JsObject.jsify({'dataReader': id3FileReader})
]);
Sin embargo, no quiero crear la función nombrada. ¿Alguna idea o consejo?