创建非阻塞功能-Node.js

卡杜

想象一下,我有一个这样的阻塞函数(程序将等待执行random_operations

var result = random_operations(arg1,arg2);

但是现在我做了这个:

function Op() {
  events.EventEmitter.call(this);

  this.get= function(arg1, arg2)
  {
  this.arg1 = arg1;
  this.arg2 = arg2;
  this.result = random_operations(this.arg1,this.arg2);
  this.emit('done', this.result);
  }
}

Op.prototype.__proto__ = events.EventEmitter.prototype;
var do_job = new Op();

do_job.on('done', function(resulted) {
    console.log('done '+ resulted);
  });

dojob.get(_arg1, _arg2);

这样使用random_operations就意味着node.js不会被阻止吗?我试图了解如何不阻塞node.js。

克拉莫

node.js仅执行非阻塞I / O(文件系统读取/写入,网络请求等)。JavaScript仍然是单线程的,并且长时间运行的代码将阻止事件循环。

有许多方法可以推迟此类操作或在子进程中运行它们,但这要复杂一些。

看看这个答案

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Node JS中的非阻塞

来自分类Dev

Node.js-错误回调的重新调用功能-是否有非阻塞方式?

来自分类Dev

node.js非阻塞mongodb调用

来自分类Dev

node.js中的非阻塞需求

来自分类Dev

node.js中的非阻塞需求

来自分类Dev

node.js 应用程序中的阻塞功能

来自分类Dev

Node.js-单线程,非阻塞?

来自分类Dev

Node.js表达,MySQL和非阻塞行为

来自分类Dev

node.js如何实现非阻塞I / O?

来自分类Dev

如何防止Node.js中的非阻塞?

来自分类Dev

如何将阻塞代码重构为对node.js非阻塞

来自分类Dev

非阻塞函数返回后的Node.js回调处理

来自分类Dev

Node.JS中的单线程事件循环与多线程非阻塞工作者

来自分类Dev

如何为node.js设计和实现非阻塞内存映射模块

来自分类Dev

node.js非阻塞POST请求以等待另一个POST请求

来自分类Dev

Node.JS中的单线程事件循环与多线程非阻塞工作者

来自分类Dev

node.js I / O非阻塞-了解何时最有利

来自分类Dev

什么是 Node.js 中的事件驱动非阻塞 IO 模型?

来自分类Dev

在Node JS中创建条件帮助器功能

来自分类Dev

使用Node JS导出功能

来自分类Dev

Node.js功能范围

来自分类Dev

Node.JS非阻塞IO和其他框架(如ASP.NET MVC通过异步/等待非阻塞io)

来自分类Dev

创建用户会话 - NODE js

来自分类Dev

JS:在Node.js上创建报告

来自分类Dev

是否可以在PHP V8js上创建非阻塞javascript代码?

来自分类Dev

Node.js定制全局需求功能

来自分类Dev

Node.js支持=>(箭头功能)

来自分类Dev

Node.js回调功能

来自分类Dev

Node.js中的调用导出功能