Dart SDK 0.8.10.3_r29803 dart:js callbacks [英] Dart SDK 0.8.10.3_r29803 dart:js callbacks

查看:118
本文介绍了Dart SDK 0.8.10.3_r29803 dart:js callbacks的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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



1)Dart调用Javascript函数
2)数据通过Javascript api的
3)Javascript返回数据到Dart



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

解决方案

只需将Dart函数传递给JavaScript,它就会自动转换为JavaScript函数。 p>

Dart:

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


Can some one please give me an example of the Dart code that would follow this flow

1) Dart call Javascript function 2) Javascript loads some data via Javascript api's 3) Javascript returns data to Dart

Currently I can only call the Javascript function I need (via js.context.callMethod('myAmazingFunction');) but I can't receive the callback. I thought there would be something like js.context.listenForMethod('myAmazingCallback'); or similar...

解决方案

Just pass your Dart function into JavaScript and it'll automatically converted to a JavaScript function.

Dart:

import 'dart:js';

myCallback(data) {
  print('received $data');
}

main() {
  context.callMethod('mJsFunction', [myCallback]);
}

JS:

function myJsFunction(callback) {
  callback('some data');
}

For data passed to the Dart callback, many types will be automatically converted (see the list here: http://api.dartlang.org/docs/releases/latest/dart_js.html) and other types will give you a JsObject proxy.

这篇关于Dart SDK 0.8.10.3_r29803 dart:js callbacks的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆