javascript - 我是不是发现了Node.JS一个缺点?是否可以优化?

 

问题描述:

Node.JS 以下简称 node。
node 中的 async 和 await 各位都不陌生吧?普通的 function 和 async function 有什么区别 我相信大家也知道,如果你不知道,请看这篇文章 https://blog.csdn.net/ScumStu...

看到第1.3章节即可,记住 async 函数返回的是一个 Promise 对象。

背景:一个大型项目A,也许还有其它部门项目和它耦合,这时A项目的 c 函数,往 if 判断里加一个异步请求。

那么问题就来了

这时要么使用回调的方式,把 if 块里的代码放到回调里,并把 if 块外的代码也放进去,并在回调结尾处执行 return;
把 c 函数变为 async 函数,c 函数此时变成了一个 Promise,所有调用 c 函数的函数为了能同步调用 c 函数也变成了 async 函数。
按照第二步接着说,假如 a、b 函数为了同步调用 c 函数变成了 async 函数,那么所有调用 a、b 函数的函数也要变成 async 函数。
浏览器中 js 写起来也一样

我思索了良久,有了上面这个想法后,我就想:我在干什么?怎么工作难度成指数级增长了,写 node 语言的团队难道不知道这个问题?谷歌难道不知道这个问题?


 

第 1 个答案:

只要不在全局作用域或模块作用域使用 await ,就没什么问题。
async 函数的返回值是 Promise,你完全可以使用回调函数的方式来处理 Promise所“承诺”的值——那么如果你以为的那种缺陷无法避免,同样回调函数也无法避免,整个 JS 的大厦就轰然倒塌了。
所以你该不会是没学懂 Promise 吧?


项目中用到几个视频文件,我将他放在public文件夹中,但是执行build后产生了两份视频文件我也只在一个地方引用我知道public文件夹中的文件会被直接复制一份到根目录,另 ...