Javascript 从FireBreath收回

Javascript 从FireBreath收回,javascript,callback,npapi,firebreath,Javascript,Callback,Npapi,Firebreath,在我的插件中,我想启动新线程并从中回调: 我有 function myCallback() 我想从我的线程插件中每隔2秒调用一次 我怎么做 // this method calls from html-page: void MyFirstPluginAPI::testEvent() { //fire_test(); // thread starting: boost::thread my_thread(boost::bind(&MyFirstPluginAPI::hello

在我的插件中,我想启动新线程并从中回调:

我有

function myCallback()
我想从我的线程插件中每隔2秒调用一次

我怎么做

// this method calls from html-page:
void MyFirstPluginAPI::testEvent()
{
  //fire_test();
  // thread starting:
  boost::thread my_thread(boost::bind(&MyFirstPluginAPI::hello_world, this));
}
void MyFirstPluginAPI::hello_world() 
{
  for(;;)
  {
    boost::posix_time::seconds SleepTime(2);
    boost::this_thread::sleep(SleepTime);
    // here i must call InvokeAsync("myCallback",FB::variant_list_of(0));
    // how can i to do it?
  }
}

非常感谢。

这是真实的答案吗?从插件到浏览器/html页面的异步回调是真的吗

也许,我解决了这个问题

我不使用InvokeAsync,而是发出“信号”:

FB_JSAPI_EVENT(event1, 0, ());
然后我发出“信号”

fire_event1();
我在现场收到“信号”

addEvent(plugin(), 'event1', function(){
  elem = document.getElementById('mydiv');
  elem.innerHTML = elem.innerHTML + "hello<br>";
});
addEvent(plugin(),'event1',function(){
elem=document.getElementById('mydiv');
elem.innerHTML=elem.innerHTML+“你好
”; });

我会随时测试这个问题,然后我会将这个问题标记为已解决

应该可以在不旋转自己的线程和需要处理同步的情况下实现这一点。FB_JSAPI_事件当然可以满足您的需要,而且实际上可能是您想要的方式,但是您可能还应该知道,可以从任何线程调用InvokeAsync。Taxilian!谢谢,但我不明白如何使用InvokeAsync。我找不到有用的例子。1.如何获取对象,能够调用InvokeAsync?2.为什么在所有示例中第一个参数都是“”?第一个参数是站点上js函数的名称?还是不?