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

在Javascript中将长时间运行的同步函数转换为异步函数,javascript,asynchronous,promise,Javascript,Asynchronous,Promise,我使用node生成大型RSA密钥,问题是我的函数是同步的,因此会使当前线程停滞一段时间。。因此,我想知道如何将它包装成某种异步操作(最好是承诺) 这是我的密码: const NodeRSA = require('node-rsa'); const key = new NodeRSA({ b: 4096 }); //make this async 谢谢 如果这需要花费大量时间,并且您可以使用HTML5,那么您可以使用。在后台运行的web worker与主JS完全隔离。这可能适合您的任务 有一个n

我使用node生成大型RSA密钥,问题是我的函数是同步的,因此会使当前线程停滞一段时间。。因此,我想知道如何将它包装成某种异步操作(最好是承诺)

这是我的密码:

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

谢谢

如果这需要花费大量时间,并且您可以使用HTML5,那么您可以使用。在后台运行的web worker与主JS完全隔离。这可能适合您的任务


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