js的简单基础:第七章

一、同步API和异步API

**同步API:**在主线程中执行,会阻止主线程后续代码的执行,通过返回值获取结果。

**异步API:**在一个独立的线程执行,不会阻止主线程后续代码的执行,通过回调函数获取结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fWQi9r9E-1681174396735)(assets/1681097490373.png)]

二、文件系统模块

用于项目中文件的操作,例如:数据的导入、数据的导出

文件分为两种形式:目录形式、文件形式

1.查看文件状态

fs.statSync(文件的路径) / fs.stat(文件的路径, 回调函数)

isFile() 是否为文件

isDirectory() 是否为目录

2.清空写入文件

fs.writeFileSync(文件路径, 写入的值)

fs.writeFile(文件路径, 写入的值, 回调函数)

如果文件不存在,先创建文件然后写入

如果文件已经存在,先清空文件中的内容,然后写入

3.追加写入文件

fs.appendFileSync(文件路径, 写入的值)

fs.appendFile(文件路径, 写入的值, 回调函数)

如果文件不存在,先创建文件然后写入

如果文件已经存在,在文件的末尾追加写入

练习:使用同步方法往文件3.txt写入一个值,多次运行

练习:使用异步方法往文件4.txt写入一个值,多次运行

4.读取文件

fs.readFileSync(文件的路径) / fs.readFile(文件的路径, 回调函数)

读取的格式为Buffer

5.删除文件

fs.unlinkSync(文件的路径) / fs.unlink(文件的路径, 回调函数)

练习:使用同步方式删除1.txt,使用异步方法删除2.txt

6.检测文件是否存在

fs.existsSync(文件的路径) 存在->true 不存在->false

练习:如果文件3.txt存在,则使用同步方法删除文件

7.文件流

fs.createReadStream(文件路径) 将一个文件以流的方式读取,会分成多段

fs.createWriteStream(文件路径) 创建一个写入的文件流,可以将读取的流添加进来,会创建一个新的文件

pipe() 管道,用将读取的流添加到写入的流

8.后端事件监听

on(‘事件名称’, 回调函数) 一旦触发事件,会自动调用回调函数;事件名称是固定的字符串形式

三、HTTP协议

HTTP:超文本传输协议,是客户端和WEB服务器之间的通信协议

WEB服务器:为客户端提供资源的服务器,例如:html、css、图片、数据…

1.通用头信息

​ 请求的网址:要请求的资源的完整路径

​ 请求的方式:对以上资源的操作方式,常用的 GET / POST

​ 响应的状态码:

​ 1**:服务器收到部分请求,继续发送请求

​ 2**:成功的响应

​ 3**:响应的重定向,跳转到另一个资源

​ 4**:客户端错误

​ 5**:服务器端错误

2.响应头信息(response)

Location:设置要跳转的URL,通常结合状态码302

Content-Type:设置响应的内容类型,可以解决中文乱码

​ text/html;charset=utf-8

3.请求头信息(request)

四、HTTP模块

是Node.js下的一个核心模块,可以用来创建WEB服务器

createServer() 创建WEB服务器

listen() 设置WEB服务器的端口

// 通过事件监听客户端的请求,并作出响应
app.on('request', (req, res) => {
    // req 请求的对象
    // res 响应的对象
    res.statusCode  //设置响应的状态码
    res.setHeader()   //设置响应的头信息
    res.write()   //设置响应到客户端的内容
    res.end()     //结束响应
})

练习:编写文件,使用http模块创建WEB服务器,设置服务器端口;通过事件监听客户端的请求,设置响应的状态码为500,内容为"服务器端出现错误!"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值