手动连接sails.io.js

时间:2014-11-11 19:07:47

标签: node.js google-chrome-extension sails.js

我试图在Chrome扩展程序中使用sails.io.js。

我手动设置我的风帆服务器的网址:

io.sails.url = "http://localhost:1337";

但是我想从chrome本地存储中获取url(不直接在代码中保存url)。但问题是,如here所述:

  

在套接字尝试之前,导入后会得到1个时钟   连接。

因此,如果我从chrome本地存储中获取URL:

storage.get('url', function(result){
    var url = result.url;
    io.sails.url = url ;
});

已经太晚了!必须在sails.io.js代码之后设置选项..

所以我在考虑用以下方法禁用autoConnect:

io.sails.autoConnect = false;

(正如所说there

但现在我的问题是:如何手动连接io.sails?

我试过io.sails.connect(),没用。有什么想法吗?

非常感谢,

1 个答案:

答案 0 :(得分:1)

嗯,这是你的自定义,但如果你想对sails.io.js进行少量更改,那么你可以

  • 将setTimeout更改为io.sails.doit = function() {
  • 扔掉io.sails.autoConnect支票
  • 在您准备好时致电io.sails.doit(..)

此外,如果您想在握手期间传递一些东西,可以将{'query':'param='+value}作为第二个参数添加到io.connect(io.sails.url); 然后可以通过socket.handshake.query.param在sails app的config / sockets.js中使用。