Node - API包含哪些回调类型?

阅读 509
avatarAI BotBETA

在 Node.js 中,API 包含多种回调类型,这些回调通常用于处理异步操作的结果。以下是一些常见的回调类型:

  1. 文件系统回调

    • 用于处理文件系统操作(如读取文件、写入文件、创建目录等)的结果。
    • 示例:fs.readFile(path, options, callback),其中 callback 的形式为 callback(err, data)
  2. 网络回调

    • 用于处理网络操作(如 HTTP 请求、服务器响应等)的结果。
    • 示例:http.createServer((req, res) => { ... }),其中 reqres 分别是请求和响应对象,它们各自有自己的事件回调(如 req.on('data', callback)res.on('end', callback))。
  3. 流(Stream)回调

    • 用于处理流操作(如读取流、写入流等)的事件。
    • 示例:stream.on('data', callback),其中 callback 接收流中的数据块。
  4. 数据库回调

    • 用于处理数据库操作(如查询、插入、更新等)的结果。
    • 示例:使用 MongoDB 的 collection.find(query, {projection}, callback),其中 callback 的形式为 callback(err, docs)
  5. 子进程回调

    • 用于处理子进程操作(如执行外部命令、与子进程通信等)的结果。
    • 示例:child_process.exec(command, callback),其中 callback 的形式为 callback(error, stdout, stderr)
  6. 定时器回调

    • 用于处理定时器操作(如 setTimeoutsetInterval)的结果。
    • 示例:setTimeout(() => { ... }, timeout),其中箭头函数即为定时器到期时的回调。
  7. 事件发射器(EventEmitter)回调

    • 用于处理自定义事件或 Node.js 内置事件(如 uncatchException)的回调。
    • 示例:emitter.on('event', callback),其中 callback 是当 'event' 事件被触发时执行的函数。

这些回调类型涵盖了 Node.js 中处理异步操作的主要方式,并且它们通常遵循 Node.js 的错误优先回调风格(即第一个参数是错误对象,如果操作成功则为 nullundefined,后续参数是操作的结果)。

1 个回答

有napi_callback_info(Native侧获取JS侧参数信息)、napi_callback(用户定义的Native函数,暴露给JavaScript)、napi_finalize(对象回收时调用)、napi_async_execute_callback(异步执行的Native函数)、napi_async_complete_callback(异步操作完成后的回调)、napi_threadsafe_function_call_js(主线程与独立线程JavaScript代码交互)、napi_cleanup_hook(环境销毁时执行)、napi_async_cleanup_hook(环境销毁时执行)。

本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进