HTTP 要求 (fetch)
使用 Fetch API,您可以在 Deno Deploy 中進行傳出 HTTP 要求。它是一種網路標準,並具有下列介面
fetch()
- 允許您進行傳出 HTTP 要求的方法Request
- 代表 fetch() 的請求資源Response
- 代表 fetch() 的回應資源Headers
- 代表請求和回應的 HTTP 標頭。
此頁面顯示 fetch() 方法的使用方式。您可以按一下上方的其他介面以深入了解它們。
Fetch 也支援從檔案 URL 擷取以取得靜態檔案。如需有關靜態檔案的更多資訊,請參閱 檔案系統 API 文件。
fetch()
fetch()
方法會對提供的資源發起網路請求,並在回應可用後傳回一個承諾。
function fetch(
resource: Request | string,
init?: RequestInit,
): Promise<Response>;
參數
名稱 | 類型 | 選用 | 說明 |
---|---|---|---|
資源 | 請求 USVString | 否 | 資源可以是請求物件或 URL 字串。 |
init | RequestInit | 是 | init 物件讓您套用選用參數至請求。 |
fetch()
的傳回類型是一個承諾,會解析為 Response
。
範例
下列 Deno Deploy 腳本會對每個傳入請求針對 GitHub API 提出 fetch()
請求,然後從處理函式傳回該回應。
async function handler(req: Request): Promise<Response> {
const resp = await fetch("https://api.github.com/users/denoland", {
// The init object here has an headers object containing a
// header that indicates what type of response we accept.
// We're not specifying the method field since by default
// fetch makes a GET request.
headers: {
accept: "application/json",
},
});
return new Response(resp.body, {
status: resp.status,
headers: {
"content-type": "application/json",
},
});
}
Deno.serve(handler);