【问题标题】:How to access methods and properties in java-script class from DART如何从 DART 访问 java-script 类中的方法和属性
【发布时间】:2018-11-11 21:07:41
【问题描述】:

不确定它是编译器限制还是我不明白的东西(可能是最后一个:-))

我正在尝试访问隐藏在本机 java 脚本类中的“DataView”结构。 我让它在调试模式下工作;但是,在为部署而编译时,该解决方案不起作用。

  await _transferIn(adapter, 5, 64).then((usbInTransferResult){
    log.finest('_transferIn.then');
    js.context['console'].callMethod('log', [usbInTransferResult]);

    var rxLen = usbInTransferResult['data']['byteLength'];  <<<<< Fails
    for( var index = 0; index < rxLen; index++ ){
      rxData.add(usbInTransferResult['data'].callMethod('getUint8', [index]));  <<<<< Fails
    };

    log.finest(rxData);
    return completer.complete(rxData);
  });

上面的代码读取一个通过USB(WebUSB)接收到的数据包。它读取接收到的包长度并将每个字节复制到List&lt;int&gt;。在这两个地方(读取属性byteLength 和调用方法getUint8([index]) 仅在编译部署时失败。

下面是报错的图片

下面是成功运行的图片(在调试模式下) 请注意额外的 DART 符号(上图中缺少)。

ps。 我在 WebStorm 项目中使用 DART-SDK 2.0.0(也尝试过 2.1.0-dev.8.0)和 Angular-DART 5.0.0。

【问题讨论】:

  • 我想你的意思是说“javascript”而不是上面的“java”。

标签: dart angular-dart dart-js-interop webusb dart-sdk


【解决方案1】:

请参阅js package,它是有关如何使用 Dart 可调用的东西包装 javascript API 的文档。

【讨论】:

  • 嗨内特。感谢您的反馈。由于我有点挣扎,也许您可​​以进一步指出。我面临的挑战是通过回调传递给 DART 的结构(似乎 js 包地址与 DART -> JS 相反)。另请记住,该解决方案在调试模式下工作,但在部署时失败。
猜你喜欢
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 1970-01-01
  • 2011-08-11
  • 2021-11-16
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
相关资源
最近更新 更多