簡體   English   中英

從javascript調用dart編譯的Javascript時如何將回調函數傳入dart編譯的Javascript?

[英]When calling dart compiled Javascript from javascript how do I pass in a callback function into dart compiled Javascript?

我正在嘗試將我的項目逐步轉換為飛鏢。 我已經將一個獨立的庫轉換為Dart,我在我的項目中使用了Dart編譯的javascript。 感謝其他問題上的幫助。 我可以調用Dart編譯的javascript函數。 現在我面臨另一個難題。 如果我的Dart函數需要回調,我如何將Javascript函數傳遞給Dart生成的javascript函數?

我想要做的是從Javascript注冊一個Dart事件處理程序,例如:

在我的Dart中,我有事件總線,dart對象可以通過以下方式注冊事件處理程序:

bus.on('eventName', callbackFunc);

和Dart對象通過以下方式觸發事件:

bus.fire('eventName', data);

我將公交車暴露給Javascript世界,通過:

js.context['registerEvent'] = bus.on;

在Javascript中,我想打電話

registerEvent('someEvent', function() { console.log('JS callback' });

注冊事件處理程序,當Dart對象觸發事件時,將調用JS回調。

你可以嘗試將它作為參數傳遞給Dart並使用param.apply([])調用它

從你上一個問題,

js.context["sayGreeting"] = (message) {
  print("greeting: $message");
};

// pass js function which is already defined above.
someJsObject.callMethod('someOriginalJsFunction', [js.context['sayGreeting']]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM