前端学习(六)回调,异步,非阻塞,事件驱动等知识

来源:互联网 发布:windows longhorn开机 编辑:程序博客网 时间:2024/06/03 03:32

什么是回调?
异步编程最基本的方法。顺序执行异步逻辑,后续传递的方式,即将后续逻辑作为函数,封装在起始函数的参数中。

什么是同步/异步?
JS(浏览器单线程):
同步就是,后一个任务等待前一个任务执行完后再执行,程序的执行顺序和任务的排列顺序是一致的。
异步:每个任务都有一个或多个回调函数,执行任务后,执行回调函数,顺序不一致。(setTimeOut)

同步,就是在发出一个调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了。
异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在调用发出后,被调用者通过状态、通知来通知调用者,或通过回调函数处理这个调用

什么是I/O?
硬盘的写入写出,数据的进出,

什么是单/多线程?
线程是最基本的运行单位,多线程即,多个线程同时运行,争夺cpu资源轮流运行。

什么是阻塞/非阻塞?
阻塞/非阻塞是对于线程来说,阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时的状态.
阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。

总结:Node.js通过回调函数实现异步,通过异步实现非阻塞,即非阻塞单线程

什么是事件?
EventEmitter,

什么是事件驱动?
为某个事件注册回调函数,事件发生时调用回调函数,如果回调函数与异步IO有关,可以说是基于回调的异步IO。

什么是基于事件驱动的回调?

什么是事件循环?
大量异步,IO,计时器,EventLoop回调函数队列,不停循环队列执行回调函数。

HTTP模块:
只处理流相关操作和信息解析(请求头和请求体)

阅读全文
0 0