用sails.io.js手动连接

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

我手动设置我的帆服务器的url与行:

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

但是我想从Chrome本地存储中获取URL(将URL不直接保存在代码中)。 但问题是,正如这里所说:

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

所以如果我从chrome本地存储中获得URL:

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

太晚了! 必须在sails.io.js代码后面设置选项。

所以我在考虑禁用autoConnect:

 io.sails.autoConnect = false; 

(如上所述)

但现在我的问题是:我怎样才能手动连接io.sails?

我试过io.sails.connect(),没有工作。 有任何想法吗 ?

非常感谢你,

那么,这是你的定制,但如果你想逃避sails.io.js最小的变化,那么你可以

  • 将setTimeout更改为io.sails.doit = function() {
  • 扔掉io.sails.autoConnect检查
  • 当你准备好时,调用io.sails.doit(..)

另外,如果你想在握手过程中传递一些信息,你可以添加{'query':'param='+value}作为io.connect(io.sails.url);第二个参数io.connect(io.sails.url); 然后通过socket.handshake.query.param在sails应用程序的config / sockets.js中提供。