有人可以给我一个跟随此流程的Dart代码示例
1)Dart调用Javascript函数 2)Javascript通过Javascript api加载一些数据 3)Javascript将数据返回到Dart
目前我只能调用我需要的Javascript函数(通过js.context.callMethod('myAmazingFunction');)但是我无法接收回调。我以为会有类似js.context.listenForMethod('myAmazingCallback')的东西;或类似的......
答案 0 :(得分:4)
只需将您的Dart函数传递给JavaScript,它就会自动转换为JavaScript函数。
达特:
import 'dart:js';
myCallback(data) {
print('received $data');
}
main() {
context.callMethod('mJsFunction', [myCallback]);
}
JS:
function myJsFunction(callback) {
callback('some data');
}
对于传递给Dart回调的数据,将自动转换许多类型(请参阅此处的列表:http://api.dartlang.org/docs/releases/latest/dart_js.html),其他类型将为您提供JsObject代理。