Ta上传的资源 (0)

我们通常说前端和后端,前端负责用户界面,而后端负责提供数据和业务接口。现在我们在两者间加入一层,前端并不是直接去请求后端业务接口,而是请求到中间层。再由中间层去请求业务接口

当然,除了回调地狱之外,还有一个非常重要的需求:**为了代码更加具有可读性和可维护性,我们需要将数据请求与数据处理明确的区分开来**。上面的写法,是完全没有区分开,当数据变得复杂时,也许我们自己都无法轻松维护自己的代码了。这也是模块化过程中,必须要掌握的一个重要技能,请一定重视。

对象去重,最主要的是我们优化了上述谈到的数组塌陷问题。如果当前是重复的数据,就将数组的最后 一个数据移动到当前数据进行替换,这样重复的数据删除了,而且数组塌陷问题也得到解决。

这是由一些与用户的互动以及操作 DOM 等相关的操作决定了 JS 要使用单线程,否则使用多线程会带来 复杂的同步问题。如果是多线程,一个线程正在修改 DOM,另一个线程正在删除 DOM,那么以哪一 个为准呢?

const path = require('path') const nodeExcternals = require('webpack-node-externals') const { CleanWebpackPlugin } = require('clean-webpack-plugin')

嵌套函数存在耦合性,一旦有所改动,牵一发而动全身。 嵌套函数一多,就很难处理错误。 回调函数不能使用 try catch 捕获异常(异常的捕获只能在函数执行的时候才能捕获到)。 回调函数不能直接 return 。