当前位置:首页 >> 安全

七爪OpenBSD:如何为获取请求编写 TypeScript 模块

来源:安全   2025年02月24日 12:16

改写计算机系统化和可任用的 API 呼叫

最近,我多年来在将很多示例从 JaScript 角度看为 TypeScript。 在这样继续做的全过程里,我也多年来在想法使其来得加计算机系统化并来得模糊不清地注入缺少项。 我认为这是一种来得优雅的设计方式……

因此,常涉及向一些相同的 API 发出大量得到请求,我最终为此改写了更加完全相同的 TypeScript 计算机系统。 我辨认出这是一个更加有用的作法。 我在讨论区看到了很多这样继续做的作法,但我个人实在这个来得恰当、来得模糊不清,所以我想在这里个人一下:

class MakeRequests { private baseURL: string; constructor(baseURL: string) { this.baseURL = baseURL; } /** * Generic makeRequest method for using fetch. * @param requestInfo request information to send with fetch. * @returns a Promise containing the response. */ private async makeRequest(requestInfo: RequestInfo): Promise { const jsonResponse: Awaited = await fetch(requestInfo) .then((response: Response) => response.json()) .then((json: T) => json); return jsonResponse; } /** * A sample method to get posts from an API. * @returns the posts response. */ public async getPosts(): Promise> { const jsonResponse: Record = await this.makeRequest( new Request(`${this.baseURL}posts/1`, { headers: new Headers({ "Content-Type": "application/json" }), }) ); return jsonResponse; } } const makeRequests: MakeRequests = new MakeRequests( "" ); export default makeRequests;

我喜欢这种作法的地方在于,改写一堆呼叫相同 API 的作法变得更加容易,正如您在第 24-32 行里看到的那样。

由于您在第 35 行更加正确地注入了基本 URL 缺少项,因此在其他地方以相同的方式任用此示例也很容易。

最终但除此以外关键性的是,我辨认出在改写检测时转用这种作法是不是很有努力。 应用于相同这样的相同作法在一个计算机系统里更加正确地定义所有内容,可以更加容易地虚拟此档案里的作法,而无需进行任何全局或草率的虚拟。 因此,这使检测变得来得加有趣。

最终但除此以外关键性的是,以这种方式保持一切异步更加容易,并且当您导入作法时,您的示例看起来来得安静,而不是改写和重复大量的得到逻辑。

例如,要应用于 getPosts 作法,您只需改写:

import makeRequests from "./fetchutils/fetch"; const results = await makeRequests.getPosts(); console.log(results);

给你! 恰当的东西,但如果你最终角度看像我这样的大型旧 JaScript 示例库,希望对你有所努力。

广州看男科什么医院最好
南京肛肠治疗费用
青岛看白癜风到哪家好
上海白癜风去哪看
西宁看妇科哪间医院好
哪个厂家血糖仪好用又准确
哪个厂家的血糖仪准确度高
哪种血糖仪比较好测量准确
胃反酸往上反酸水吃什么药
用血糖仪测血糖准吗
友情链接