如何用Qt来改写Javascript的异步编程方法?


  • 网站研运

    如题。目前正在制作SocketIO关于Qt的改写。在改写过程中,总是遇到如何改写Javascript异步编程困惑,前几个还可以规避,后面实在无法规避了,也达不到效果,看看有没有什么好的方法可以用Qt实现呢?
    下面是Javascript有关异步编程的部分代码:

    
        self.open(function(err){
                      if (err) {
                          debug('reconnect attempt error');
                          self.reconnecting = false;
                          self.reconnect();
                          self.emitAll('reconnect_error', err.data);
                      } else {
                          debug('reconnect success');
                          self.onreconnect();
                      }
                  });
    

    如何利用Qt的机制(信号、槽、元对象、元方法)来改写呢?



  • @jcy 使用匿名函数来处理吧。



  • @jcy 不过js是弱类型的。c++是强类型的。


  • 网站研运

    @qyvlik 听说Qt的MetaObject、MetaMethod可以表示元对象和元方法,我想是否可以利用这样的机制改写一下,不过还是感觉比较困难。还有一种方法就是,使用不定参数函数来作为参数来实现回调的方法,但是不定参数函数还有一些具体的细节问题,感觉还是没有信号和槽好用。目前我正在为此努力。


登录后回复
 

与 萌梦社区 的连接断开,我们正在尝试重连,请耐心等待