node.js - 如何在nodeJS中使同步功能异步

标签 node.js express asynchronous

我目前正在使用一个名为 XLSX 的 Excel 解析器库

我必须解析大尺寸 Excel 文件,问题是 XLSX 仅支持同步 readFile 请求。因此,当发出多个 http 请求时,XLSX 读取功能会阻塞其他请求,导致用户体验非常糟糕。我目前使用expressJS作为我的框架。有没有办法使函数异步,而不必更改 Excel 读取库?

谢谢

最佳答案

我只知道三种选择:

  1. 重写 XLSX 库以使用异步 I/O。
  2. 创建一个工作队列和多个子进程,并仅在子进程中运行 XLSX 工作。
  3. 选择一个使用异步 I/O 的不同库。

如果不重写或将其移动到另一个进程,就无法使使用同步 I/O 的函数神奇地变成异步函数。

关于node.js - 如何在nodeJS中使同步功能异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45558518/

相关文章:

node.js - 在运行 Nginx 反向代理的 ubuntu 18.04 AWS 服务器上使用 Nodejs 应用程序的 HTTP 404

node.js - 在 Mongoose 中,如何过滤对象数组

javascript - Express + PassportJs : Why do we need to delay the execution of method with process. Passport 策略中的 nextTick()?

javascript - 如何使用express js 3.X和Angular js将图像流式传输到亚马逊s3?

node.js - NodeJS 在继续之前等待从 sql.get 分配变量

reactjs - react ,带有异步更新程序参数的setState?

javascript - 当 onclick 事件执行异步代码时,如何在新选项卡请求中兑现打开?

node.js - 类型错误 : Cannot read property 'crud_name' of undefined

node.js - 通过 cmd 创建 ember 应用程序时出现以下错误

node.js - 使用 Node.js 进行 REST 调用以从 Azure Cosmos DB 检索单个文档时出现 "Invalid partition key"