在Javascript中将长时间运行的同步函数转换为异步

时间:2017-01-01 18:32:57

标签: javascript asynchronous promise

我使用node生成大型RSA密钥,问题是我的函数是同步的,因此使当前线程停留了一段时间..所以我想知道如何将它包装在一些异步操作中(最好的承诺)

这是我的代码:

const NodeRSA = require('node-rsa');
const key = new NodeRSA({ b: 4096 }); //make this async

谢谢!

1 个答案:

答案 0 :(得分:2)

如果这会耗费大量时间并且您可以使用HTML5,则可以使用Web Worker。在后台运行的Web工作者与主JS完全隔离。这可能适合您的任务

有一个npm模块,包含node.js的web worker实现; npm workerjs