Heim > Backend-Entwicklung > Golang > Wie kann ich POST-Anfragen des Go-HTTP-Clients vorzeitig schließen?

Wie kann ich POST-Anfragen des Go-HTTP-Clients vorzeitig schließen?

Mary-Kate Olsen
Freigeben: 2024-11-29 09:01:09
Original
280 Leute haben es durchsucht

How Can I Prematurely Close Go HTTP Client POST Requests?

Vorzeitiges Schließen von Go-HTTP-Client-POST-Anfragen

Beim Arbeiten mit HTTP-Long-Polls unter Verwendung des http.Client kann es erforderlich sein, die Anfrage vorzeitig vom zu beenden Client-seitig. Historisch gesehen konnte resp.Body.Close() verwendet werden, für die Ausführung war jedoch eine separate Goroutine erforderlich.

Aktuelle Lösung: Kontextbasierter Abbruch

Um dieses Problem zu beheben Problem, Go empfiehlt jetzt die Verwendung von http.Request.WithContext, um einen Kontext mit einer Frist oder einem Stornierungsmechanismus zu übergeben. Dies macht eine zusätzliche Goroutine überflüssig und bietet einen saubereren, standardisierten Ansatz.

Beispiel

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)
Nach dem Login kopieren

Dieser Ansatz bietet eine bessere Kontrolle über die Stornierung von Anfragen und ermöglicht dies basierend auf Benutzeraktionen oder anderer Anwendungslogik ausgelöst werden, nicht nur auf Zeitüberschreitungen.

Das obige ist der detaillierte Inhalt vonWie kann ich POST-Anfragen des Go-HTTP-Clients vorzeitig schließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage