socket.io - of() 和 use() API
socket.io - of() and use() API
const spgNamespace = io.of("/spg").use(verify());
我试图找到 API of()
和 use()
w.r.t Javascript 和 socket.io。我没有成功。
我找到了这个 link:https://socket.io/docs/v3/namespaces/index.html
但是他们没有解释 API of()
和 use()
.
的用法
我了解到 of()
函数与 promise 相关,但是这个 link 没有任何相关内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
这个 SO 线程说 use()
函数与 adonisJS
有关,但我的项目没有在任何地方使用这个库:
在这段代码中,io
是'socket.io'的对象。
const spgNamespace = io.of("/spg").use(verify());
请解释这一行是做什么的,请指出参考文献APIs。
of()
中的方法 server.of(nsp)
初始化并检索给定的 Namespace
。
在这里找到它:https://socket.io/docs/v3/server-api/#server-of-nsp
方法use()
如namespace.use(fn)
中那样注册了一个中间件函数,这是一个为每个传入的套接字执行的函数。
在这里找到它:https://socket.io/docs/v3/server-api/#namespace-use-fn
您的代码
const spgNamespace = io.of("/spg").use(verify());
意味着,你首先初始化并获取命名空间/spg
,然后为获取的命名空间注册一个中间件函数。我在这里看到 2 个问题:
- 首先:
.use()
没有 return 任何东西(据我所知),所以 spgNamespace
可能会变成 undefined
;
- 其次:您将
verify()
作为中间件传递。这意味着您首先执行 verify
函数并将结果作为中间件传递给它。尝试只传递函数而不像 .use(verify)
那样执行它...而不是 .use(verify())
const spgNamespace = io.of("/spg").use(verify());
我试图找到 API of()
和 use()
w.r.t Javascript 和 socket.io。我没有成功。
我找到了这个 link:https://socket.io/docs/v3/namespaces/index.html
但是他们没有解释 API of()
和 use()
.
我了解到 of()
函数与 promise 相关,但是这个 link 没有任何相关内容:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
这个 SO 线程说 use()
函数与 adonisJS
有关,但我的项目没有在任何地方使用这个库:
在这段代码中,io
是'socket.io'的对象。
const spgNamespace = io.of("/spg").use(verify());
请解释这一行是做什么的,请指出参考文献APIs。
of()
中的方法 server.of(nsp)
初始化并检索给定的 Namespace
。
在这里找到它:https://socket.io/docs/v3/server-api/#server-of-nsp
方法use()
如namespace.use(fn)
中那样注册了一个中间件函数,这是一个为每个传入的套接字执行的函数。
在这里找到它:https://socket.io/docs/v3/server-api/#namespace-use-fn
您的代码
const spgNamespace = io.of("/spg").use(verify());
意味着,你首先初始化并获取命名空间/spg
,然后为获取的命名空间注册一个中间件函数。我在这里看到 2 个问题:
- 首先:
.use()
没有 return 任何东西(据我所知),所以spgNamespace
可能会变成undefined
; - 其次:您将
verify()
作为中间件传递。这意味着您首先执行verify
函数并将结果作为中间件传递给它。尝试只传递函数而不像.use(verify)
那样执行它...而不是.use(verify())