Denoで動作するHTTPクライアントについて考える
はじめに
Denoで使用できるHTTPクライアントにはいくつかの選択肢があります。 この記事では、それぞれのモジュールについて比較してみます。
HTTPクライアントの一覧
使い方は、基本的にはブラウザとほぼ同様です:
code:typescript
url.searchParams.append("page", "1");
url.searchParams.append("per_page", "20");
const res = await fetch(url);
const tags = await res.json();
console.log(tags);
リトライやタイムアウト、フックの仕組みなどを提供しており、高機能
code:typescript
searchParams: {
page: 1,
per_page: 20,
},
});
const tags = await res.json();
console.log(tags);
code:typescript
interface QiitaTag {
followers_count: number;
icon_url: string;
id: string;
items_count: number;
}
params: {
page: 1,
per_page: 20,
},
});
console.log(res.data);
code:typescript
try {
const res = await agent.send({
method: "GET",
path: "/api/v2/users/uki00a/following_tags?page=1&per_page=20",
});
const tags = await res.json();
console.log(tags);
} finally {
agent.conn.close();
}
所感
使い捨てのスクリプトなどではfetch()をそのまま使うのがよさそう
ある程度の規模なアプリとかだとkyが多機能でよさそう