1
dart:js
을 통해 exif-js 라이브러리를 래핑했습니다.포장 된 js에 다트 콜백 사용
@JS()
library exif;
import 'package:js/js.dart';
@JS()
external PhotoDetails get EXIF;
@JS()
class PhotoDetails {
factory PhotoDetails() {
return EXIF;
}
@JS()
external bool getData(img, callback);
}
그리고 약간의 다트 프로그램이 : 난 그렇게했을 때 이미 대답했다
PhotoDetails photoDetails = new PhotoDetails();
var fileUploadInputElement = new FileUploadInputElement();
fileUploadInputElement.onChange.listen((e) => photoDetails.getData(
fileUploadInputElement.files[0],() {
print(this);
}));
Here을하지만, 나는이 오류를 JS 있습니다 exif.js:351 Uncaught TypeError: callback.call is not a function
내가 작동하려면 수동으로 캐스팅했습니다. 그러나 그것은 도움이되지 못했습니다. 람다 표현으로는 동일했습니다. '전화'기능 : 일치하지 않는 인수 폐쇄 전화 :
allowInteropCaptureThis
필요하다고 생각 NoSuchMethodError : 'call'메서드에 전달 된 인수의 수가 올바르지 않음 수신자 : Closure :() => dynamic 시도한 호출 : 호출 (FileImpl의 인스턴스) 발견 : call() # 0 Object._noSuchMethod (dart : core-patch/object_patch.dart : 42) # 1 Object.noSuchMethod (다트 : core-patch/object_patch.dart : 45)' –답변을 업데이트했습니다 ('[_, __]'을 (를) 추가했습니다). 이것이 어떤 효과 (다른 오류, ...)가 있다면 시도해 주시겠습니까? –
이것은 충돌이 아니지만 동정 인쇄용으로는 ""입니다. 이제 나는 더 깊이 가서 내 실수를 찾아야합니다. 고마워. –