Có cách nào để gọi hàm JavaScript có tên call()
(trong đối tượng lồng nhau) từ Dart hay tôi phải đợi Dart 2.0, từ đó xử lý đặc biệt call()
có thể bị xóa?Cách gọi hàm JavaScript có tên là `call` từ phi tiêu
Tôi có một Proxy JS như:
@JS()
class SomethingFancy {
external String call();
}
Nhưng khi call()
thể được sử dụng để biến một đối tượng vào một chức năng, nó làm cho nó không thể truy cập vào các chức năng của đối tượng JS.
Nếu tôi có thể, tôi sẽ thay đổi tên của các phương pháp trong Dart, nhưng điều đó không được hỗ trợ bởi package:js
:
/// By default the dart name is used. It is not valid to specify a custom
/// [name] for class instance members.
Các lỗi tôi nhận được là:
Uncaught Error: NoSuchMethodError: method not found: 'call$0' (J.getSomethingFancy$1$x(...).call$0 is not a function)
Nếu chức năng không tồn tại, lỗi sẽ trông như sau:
Uncaught Error: NoSuchMethodError: method not found: 'callMe' (receiver.callMe is not a function)
Các chức năng khác trên cùng một đối tượng hoạt động tốt.