js中的异步
使用像 JavaScript 这样的语言编程时,很重要但常常被误解的一点是,如何表达和控制持续一段时间的程序行为。
如从数据库或文件系统中请求数据然后显示数据、通过网络发送数据并等待响应,或者是在以固定时间间隔执行重复任务(比如动画)等。这些程序并不会以及运行结束,通常一部分运行在当下,另一部分运行在将来。
事实上,程序中现在运行的部分和将来运行的部分之间的关系就是异步编程的核心。
---------------------<你不知道的Javascript>
回调函数
首先要闹明白两个问题:
问题一:什么是回调函数?
答:函数A中传入函数B作为参数时,函数B即为A函数执行的回调函数。(设计JavaScript中传值调用,函数可作为值传递等知识点)
问题二:回调函数都是异步吗?
由回调函数定义可推导,并非全是异步。
//非异步
const arr = [1,2,3]
const cb =item => {
console.log(item) } //callback
arr.map(cb)
//异步
setTimeout(