我目前正在使用JavaScript. js创建两个API。两者都相对简单。第一个API涉及到一个for循环,它贯穿1到3,000,000。同时,第二个API被设计为在控制台中打印一个简单的字符串。
我已经准备好了所有的源代码。
app.get('/firstAPI', (req, res) => {
for (let i = 1; i <= 3000000; i++) {
console.log('First API' + i + '\n');
}
});
app.get('/secondAPI', (req, res) => {
console.log('Here is the Second API');
});
不过,我遇到了点麻烦。如果我调用第一个API,它将花费大量的时间来执行。这个冗长的过程会阻止对第二个API的任何调用,尽管它很简单。我怀疑这是由于node.js中的事件循环阻塞。
所以我的问题是我该如何规避或防止这种堵塞?
1条答案
按热度按时间c7rzv4ha1#
如上所述,请分享一个你正在做的事情的例子,因为在这里你只是使用CPU 100%,这基本上不应该发生。另外,您甚至不响应请求,这意味着它将在客户端永远保持(至少直到超时)
在你的代码中,API已经是非阻塞的了,只要你没有100%加载CPU。举例来说:
在这种情况下,第一个API需要5秒来应答,但是在这5秒内,第二个API将工作得非常好