如何实现时间。模板执行后休眠?

在这个函数中,我希望在主模板执行后有时间睡觉。并在1分钟后打印消息,但它给了我两个问题。

  1. 加载模板需要 1 分钟,而不是在模板执行后休眠。

  2. 它给出了添加 .当我写时,它给了我另一个关于这个代码的错误。returnreturn niltime.Sleep(5 * time.Second) fmt.Println("Time Passed")unreachable code

我使用此函数的中间件不重复每个错误消息。Main()log.Fatal(err)

法典

func Main(w http.ResponseWriter, r *http.Request) error {

    match := Get("id1")

    if match {

        return MainTmpl.Execute(w, nil)

        time.Sleep(1 * time.Minute)

        fmt.Println("Time Passed")

    } else {

        return LoginTmpl.Execute(w, nil)

    }

    return nil

}


眼眸繁星
浏览 66回答 1
1回答

慕无忌1623718

语句后面的任何代码都是不可访问的,因为函数将在执行这些语句之前返回。如果你想在写完回复1分钟后打印一些东西,你可以这样做:returnfunc Main(w http.ResponseWriter, r *http.Request) error {    match := Get("id1")    if match {        go func() {           time.Sleep(1 * time.Minute)           fmt.Println("Time Passed")        }()        return MainTmpl.Execute(w, nil)    } else {        return LoginTmpl.Execute(w, nil)    }    return nil}这将启动一个将休眠一分钟并打印的戈鲁丁。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go