一段js理解nodejs中js如果呼叫c++/c的

theanarkh發表於2020-12-08
// Libuv
function uv_tcp_connect(uv_tcp_t, addr,cb) { cb(); }  

  
// c++
class TCPWrap {  

  uv_tcp_t = {};  

  static Connect(cb) {  

    const tcpWrap = this[0];  

    uv_tcp_connect(

      tcpWrap.uv_tcp_t,

      {ip: '127.0.0.1', port: 80},

     () => { cb(); }

    );  

 }  

}  

function FunctionTemplate(cb) {  

   return function () {cb(this)};  

}  

const TCP = FunctionTemplate((target) => { target[0] = new TCPWrap(); })  

TCP.prototype.connect = TCPWrap.Connect;  

// js
new TCP().connect(() => { console.log('連線成功'); });  

 

相關文章