📅  最后修改于: 2023-12-03 14:44:37.610000             🧑  作者: Mango
node-fetch
是一个运行在Node.js环境中的JavaScript库,用于进行网络请求。它提供了简单且易于使用的API,可以在服务器端发送HTTP请求。
可以通过NPM命令安装node-fetch
库:
npm install node-fetch
首先,您需要引入node-fetch
库:
const fetch = require('node-fetch');
然后,您可以使用fetch()
函数发起HTTP请求:
fetch(url)
.then(response => response.json())
.then(data => {
// 处理响应数据
})
.catch(error => {
// 处理错误
});
fetch(url)
:该函数会发送GET请求到指定的url
并返回一个Promise对象,该对象包含了服务器的响应信息。.then(response => response.json())
:这一步将服务器返回的响应解析为JSON格式,您也可以使用其他方法解析响应,例如response.text()
或response.blob()
。.then(data => { ... })
:这里您可以处理解析后的响应数据。.catch(error => { ... })
:在发生错误时,您可以在这里处理错误。要发送POST请求,您可以指定请求方法和请求头,以及请求体中的数据:
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
// 处理响应数据
})
.catch(error => {
// 处理错误
});
method: 'POST'
:指定请求方法为POST。headers: { 'Content-Type': 'application/json' }
:设置请求头,这里指定请求体中的数据为JSON格式。body: JSON.stringify(data)
:将数据转换为JSON字符串,并包含在请求体中。如果您在Node.js版本8或更高版本中使用node-fetch
,您也可以使用异步/等待语法来发起HTTP请求:
async function fetchData(url) {
try {
const response = await fetch(url);
const data = await response.json();
// 处理响应数据
} catch (error) {
// 处理错误
}
}
node-fetch
支持许多其他功能,例如设置超时时间、处理Cookie、设置代理等。您可以参阅官方文档了解更多详细信息。