4
我正在使用Dart及其JS interop。我需要下面的JavaScript代碼轉換成飛鏢:如何使用Dart的JS interop創建匿名JavaScript函數/回調?
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)
});
注意匿名回調作爲第二個參數來loadTags
。我如何使用Dart和dart:js
庫創建它?
我得到的是創建一個命名函數與最接近的:
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;
}
};
,然後使用這個飛鏢代碼:
ID3.callMethod('loadTags', [
"filename.mp3",
js.context['loadTagsCallback'],
new js.JsObject.jsify({'dataReader': id3FileReader})
]);
不過,我不希望創建命名功能。任何想法或提示?