如果你的客户程序正在调用一个服务器程序,你希望响应尽可能快地回来。然而,如果操作很慢,你可以取消它。对于这种情况,你可以使用WithTimeout或WithCancel功能。
应用程序
package main
客户端方式
虽然这篇文章是关于上下文的,但你可以用http.Client.Timeout 参数来处理整个取消操作,如下所示。
func users() (*http.Response, error) {
测试
如果客户端发生超时,错误将是一个*url.Error 实例,其内容类似于下面。
&{
func users() (*http.Response, error) {
测试
如果客户端请求上下文超时,错误将是一个*url.Error 实例,内容类似于下面。
&{
func users() (*http.Response, error) {
测试
如果客户端请求取消,错误将是一个*url.Error 实例,内容类似于下面的内容。
&{