推荐答案
Fastify 的 listen
方法用于启动 Fastify 服务器并开始监听指定的端口和主机。它接受一个端口号、一个可选的主机地址以及一个回调函数作为参数。当服务器成功启动并开始监听时,回调函数会被调用。
fastify.listen({ port: 3000, host: '127.0.0.1' }, (err, address) => { if (err) { fastify.log.error(err); process.exit(1); } console.log(`Server listening on ${address}`); });
本题详细解读
listen
方法的作用
listen
方法是 Fastify 中用于启动服务器的核心方法之一。它的主要作用包括:
- 启动服务器:
listen
方法会启动 Fastify 服务器,使其开始监听指定的端口和主机地址。 - 处理错误:如果服务器启动失败,
listen
方法会调用回调函数并传递错误对象,开发者可以在回调函数中处理这些错误。 - 提供服务器地址:当服务器成功启动后,
listen
方法会调用回调函数并传递服务器的地址信息,开发者可以利用这个地址信息进行日志记录或其他操作。
参数详解
- port: 服务器监听的端口号。通常是一个整数,例如
3000
。 - host: 服务器监听的主机地址。可以是 IP 地址或主机名,例如
'127.0.0.1'
或'localhost'
。如果未指定,默认值为'127.0.0.1'
。 - callback: 一个回调函数,当服务器启动成功或失败时被调用。回调函数有两个参数:
err
: 如果服务器启动失败,err
参数会包含错误信息。address
: 如果服务器启动成功,address
参数会包含服务器的地址信息。
示例代码
-- -------------------- ---- ------- ----- ------- - -------------------- ------- ---- --- ---------------- ----- --------- ------ -- - ------ - ------ ------- -- --- ---------------- ----- ----- ----- ----------- -- ----- -------- -- - -- ----- - ----------------------- ---------------- - ------------------- --------- -- ------------- ---
在这个示例中,Fastify 服务器会在 127.0.0.1:3000
上启动,并在控制台输出服务器的地址信息。如果启动失败,错误信息会被记录并退出进程。
注意事项
- 端口冲突:如果指定的端口已经被其他进程占用,
listen
方法会失败并返回错误。 - 主机地址:如果主机地址不可用或无效,
listen
方法也会失败。 - 异步操作:
listen
方法是异步的,因此需要使用回调函数或async/await
来处理服务器的启动结果。