Dart SDK 0.8.10.3_r29803 dart:js回调

时间:2013-11-05 22:24:14

标签: javascript interop dart

有人可以给我一个跟随此流程的Dart代码示例

1)Dart调用Javascript函数 2)Javascript通过Javascript api加载一些数据 3)Javascript将数据返回到Dart

目前我只能调用我需要的Javascript函数(通过js.context.callMethod('myAmazingFunction');)但是我无法接收回调。我以为会有类似js.context.listenForMethod('myAmazingCallback')的东西;或类似的......

1 个答案:

答案 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代理。