gpt4 book ai didi

javascript - 创建非阻塞函数 - Node.js

转载 作者:行者123 更新时间:2023-11-28 18:52:43 26 4
gpt4 key购买 nike

假设我有一个像这样的阻塞函数(程序将等待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 仍然是单线程的,长时间运行的代码将阻塞事件循环。

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

看看this answer

关于javascript - 创建非阻塞函数 - Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34213696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com