【问题标题】:Dart SDK 0.8.10.3_r29803 dart:js callbacksDart SDK 0.8.10.3_r29803 dart:js 回调
【发布时间】:2013-11-16 23:49:19
【问题描述】:

谁能给我一个遵循此流程的 Dart 代码示例

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

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

【问题讨论】:

    标签: javascript interop dart


    【解决方案1】:

    只需将您的 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 代理。

    【讨论】:

    • 非常感谢!这更容易
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 2018-07-16
    • 2022-11-11
    • 2021-05-27
    相关资源
    最近更新 更多