Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah saya boleh menutup Permintaan POST Klien HTTP Go secara Pramatang?

Bagaimanakah saya boleh menutup Permintaan POST Klien HTTP Go secara Pramatang?

Mary-Kate Olsen
Lepaskan: 2024-11-29 09:01:09
asal
291 orang telah melayarinya

How Can I Prematurely Close Go HTTP Client POST Requests?

Penutupan Pramatang Permintaan POST Klien HTTP Go

Apabila bekerja dengan tinjauan panjang HTTP menggunakan http.Client, mungkin perlu untuk menamatkan permintaan itu lebih awal daripada pihak pelanggan. Dari segi sejarah, resp.Body.Close() boleh digunakan, tetapi ia memerlukan goroutine yang berasingan untuk dilaksanakan.

Penyelesaian Semasa: Pembatalan Berdasarkan Konteks

Untuk menyelesaikan masalah ini isu, Go kini mengesyorkan menggunakan http.Request.WithContext untuk lulus konteks dengan tarikh akhir atau mekanisme pembatalan. Ini menghapuskan keperluan untuk goroutine tambahan dan menyediakan pendekatan yang lebih bersih dan standard.

Contoh

req, err := http.NewRequest("GET", "http://example.com", nil)
req = req.WithContext(ctx) // Pass the context with deadline or cancelation mechanism
resp, err := client.Do(req)
Salin selepas log masuk

Pendekatan ini memberikan kawalan yang lebih besar ke atas pembatalan permintaan, membolehkannya dicetuskan berdasarkan tindakan pengguna atau logik aplikasi lain, bukan hanya tamat masa.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menutup Permintaan POST Klien HTTP Go secara Pramatang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan