agent.createConnection(options[, callback])
options<Object> 包含连接详情的选项。请查看net.createConnection()以了解选项的格式。对于自定义代理,该对象会传递给自定义的createConnection函数。callback<Function>(可选,主要用于自定义代理)一个函数,当套接字被创建时,由自定义createConnection实现调用,特别用于异步操作。err<Error> | <null> 如果套接字创建失败,则返回一个错误对象。socket<stream.Duplex> 创建的套接字。
- 返回值:<stream.Duplex> 创建的套接字。 默认实现或自定义同步
createConnection实现会返回此套接字。如果自定义createConnection使用callback进行异步操作,则此返回值可能不是获取套接字的主要方式。
生成用于 HTTP 请求的套接字/流。
🌐 Produces a socket/stream to be used for HTTP requests.
默认情况下,此函数的行为与 net.createConnection() 完全相同,会同步返回创建的套接字。签名中的可选 callback 参数在此默认实现中不被使用。
🌐 By default, this function behaves identically to net.createConnection(),
synchronously returning the created socket. The optional callback parameter in the
signature is not used by this default implementation.
然而,自定义代理可以重写此方法以提供更大的灵活性,例如异步创建套接字。重写 createConnection 时:
🌐 However, custom agents may override this method to provide greater flexibility,
for example, to create sockets asynchronously. When overriding createConnection:
- 同步套接字创建:重写的方法可以直接返回套接字/流。
- 异步套接字创建:重写的方法可以接受
callback并将创建的套接字/流传递给它(例如,callback(null, newSocket))。如果在创建套接字时发生错误,应将其作为第一个参数传递给callback(例如,callback(err))。
代理将使用提供的 options 和这个内部的 callback 调用提供的 createConnection 函数。代理提供的 callback 的签名是 (err, stream)。
🌐 The agent will call the provided createConnection function with options and
this internal callback. The callback provided by the agent has a signature
of (err, stream).