📅  最后修改于: 2023-12-03 14:52:27.832000             🧑  作者: Mango
在某些情况下,您可能需要从 Node.js / Express.js 服务器端本身连续调用 API。这可以通过使用 HTTP 请求完成,下面将介绍如何实现此功能。
npm install request-promise --save
const request = require('request-promise');
const data = { name: 'John Doe' };
const options = {
method: 'POST',
uri: 'https://example.com/api/user',
body: data,
json: true
};
request(options)
.then(response => {
console.log('API Response:', response);
// 处理 API 响应
})
.catch(error => {
console.error('API Error:', error);
// 处理 API 错误
});
在上面的代码中,要发送的数据包含在 data
变量中。options
包含 HTTP 请求的相关信息,如请求方法、请求 URL、请求体和请求类型等。执行请求可以使用 request(options)
函数,然后在 Promise 的 then()
方法中处理响应,或者在 catch()
方法中处理错误。
如果您需要连续发送多个 API 请求,可以将上面的代码包含在一个类型为 async
的函数中,并适当的使用 await
以确保请求按顺序调用。例如,在以下代码中,当一个 API 响应返回后,才会调用下一个 API 请求。
const requestData = async () => {
try {
const user = await request(userOptions);
console.log('User Response:', user);
const account = await request(accountOptions);
console.log('Account Response:', account);
// ... 继续发送 API 请求
} catch (error) {
console.error('API Error:', error);
}
};
requestData();
catch()
方法捕获错误,并在那里处理错误。在 Node.js / Express.js 服务器端本身连续调用 API 的过程与从客户端发送请求的过程类似。使用 Promise-based HTTP 请求库可以很容易地发送连续的 API 请求,并在请求链中处理错误。最佳实践是将请求包含在一个 async
函数中,并使用 await
来确保请求按顺序调用。