📅  最后修改于: 2023-12-03 15:27:01.429000             🧑  作者: Mango
在 TypeScript 中,调用 API 是非常常见的任务。本文将探讨如何添加新的 API 请求以及如何在 TypeScript 中使用它们。
首先,让我们创建一个简单的 API 请求。假设我们要从某个外部 API 获取一些数据,我们可以使用 Node.js 中的 http
模块。
import * as http from 'http';
const options = {
host: 'api.example.com',
path: '/data',
method: 'GET'
};
const req = http.request(options, (res) => {
console.log(`statusCode: ${res.statusCode}`);
res.on('data', (d) => {
process.stdout.write(d);
});
});
req.on('error', (error) => {
console.error(error);
});
req.end();
在这个例子中,我们使用了 http
模块的 request
方法来发起 HTTP GET 请求。我们设置了请求选项(host、path、method),并在请求返回后打印状态码和响应的数据。
为了让添加和使用 API 请求更加方便和模块化,我们可以将其封装到一个单独的模块中。
import * as http from 'http';
interface ApiOptions {
host: string;
path: string;
method: string;
headers?: http.OutgoingHttpHeaders;
body?: any;
}
export function makeApiRequest(options: ApiOptions): Promise<any> {
return new Promise((resolve, reject) => {
const req = http.request(options, (res) => {
let data = '';
res.on('data', (chunk) => {
data += chunk;
});
res.on('end', () => {
resolve(JSON.parse(data));
});
});
req.on('error', (err) => {
reject(err);
});
if (options.body) {
req.write(JSON.stringify(options.body));
}
req.end();
});
}
我们将 makeApiRequest
函数封装到一个名为 api.ts
的文件中,并将所需选项作为参数传递。该函数返回一个 Promise,这个 Promise 将在请求成功时解析为响应的数据,并在失败时拒绝。
请注意,我们还将数据解析为 JSON 格式,这意味着我们需要确保返回的数据可以正确解析为 JSON。
现在,我们可以在任何 TypeScript 文件中使用我们封装的 API 请求。
import { makeApiRequest } from './api';
const options = {
host: 'api.example.com',
path: '/data',
method: 'GET'
};
makeApiRequest(options)
.then((data) => {
console.log('Got data:', data);
})
.catch((err) => {
console.error('Error:', err);
});
在这个例子中,我们导入了 makeApiRequest
函数并使用它来获取数据。确保您的 TypeScript 代码中包含所需的导入和变量类型定义(如果需要的话),以确保 TypeScript 可以正确编译代码。
现在,您已经学会了如何添加、封装和使用 TypeScript 中的 API 请求。这使得调用 API 以及处理返回数据变得更加容易和具有可维护性。