Node.js:如何添加我自己的非阻塞任务

时间:2017-11-24 13:09:46

标签: node.js asynchronous

我是一名java开发人员,现在正在尝试学习各种并发模型,目前正在研究Node。据我所知,下面的代码在节点中执行async io: -

  1.  fs = require('fs')
  2.  fs.readFile('/etc/hosts', 'utf8', function (err,data) {
  3.    if (err) {
  4.      return console.log(err);
  5.    }
  6.    console.log(data);
  7.  });

据我所知,第2行是异步调用,告诉节点并行读取文件,完成后执行回调函数(将其附加到事件队列中?)。

节点是否提供了我可以为自己的用例创建类似函数的任何包,我在其中执行异步函数并将执行的回调放到事件循环中?

我读到Node使用libuv包来实现异步行为。看起来npm上有第三方图书馆 - npm-libuv_thread。它会提供我需要的机制吗?

更新:对于以下代码: -

var sleep = require('sleep');

printWithSleep();
console.log("Hello");

function printWithSleep(){
   sleep.sleep(5);
   console.log("World")
}

节点等待5秒然后打印World后跟Hello,我的问题是 - 我有什么方法可以将printWithSleep设为异步(目前阻止)

0 个答案:

没有答案