我试图证明 Nodejs 不适合 CPU 密集型任务。
在此代码中,我创建了接受 baseNumber 的异步函数 mySlowFunction
。
当我使用查询参数 12 命中 http://localhost:8080
时,需要 5 秒。
如果对查询参数 11、89、23、12、23 向此 api 发出 5 个后续请求,该怎么办?会很慢。
在这种情况下,使用 NodeJs 真的好吗?[即 CPU 密集型任务]。如果是,那么我怎样才能做到这一点?
async function mySlowFunction(baseNumber) {
let result = 0;
for (var i = Math.pow(baseNumber,7); i >= 0; i--) {
result += Math.atan(i) * Math.tan(i);
};
return result;
}
const express = require('express');
const cookieparser = require('cookie-parser');
const csrf = require('csurf');
const dotenv = require("dotenv").config();
const app = express();
app.use(express.urlencoded({extended:true}));
app.use(express.json());
app.use(cookieparser());
app.get("/",async(req,res)=>{
let data = await mySlowFunction(req.query.base);
res.json({data})
})
app.listen(process.env.PORT,() => {
console.log(`Listening on http://localhost:${process.env.PORT}`);
});