将简单的同步函数转换为Node.JS中的异步函数

时间:2017-10-10 05:50:34

标签: node.js asynchronous synchronous

我有两个函数,第一个函数执行简单的加法,第二个函数执行减法。这些函数如何在Node.JS中异步执行?

1 个答案:

答案 0 :(得分:0)

  

我有两个函数,第一个函数执行简单的加法,第二个函数执行减法。这些函数如何在Node.JS中异步执行?

总之,你不能。您无法在node.js进程中异步运行同步代码。您可以影响时间(例如将来某个时间以sscanf启动),但是当它运行时它仍然是同步的,而不是异步的。

编写异步新代码的唯一方法是:

  1. 使用已经异步的操作(例如setTimeout()fs.readFile())。
  2. 使用node.js附加组件中的异步接口编写您自己的本机代码。然后,您可以使用实际的系统线程或非阻塞系统接口来实现您的代码。
  3. 将javascript代码移动到另一个node.js进程,您将其作为子进程运行并回传结果。然后,您的node.js进程可以独立于子node.js进程运行,从而提供异步接口。
  4. 只有本机代码或其他进程支持的本机代码或node.js函数才能在node.js中真正异步。您无法使用简单的Javascript代码(例如您的加法和减法函数,并在单个node.js过程中将它们从同步变为异步。没有神奇的方法可以做到这一点。根据定义,node.js运行所有的Javascript在一个线程中。