有人可以解释为什么在我的浏览器中检查在我的浏览器中始终{{ .EndUpgradeTime }}调用的字符串变量
{{ end }} 这是我传递来执行模板的结构:
type Planet struct { Id int Uuid string MetalStock string MetalMine string UserId int CreatedAt time.Time LastMetalUpdate time.Time EndUpgradeTime string } 以下是设置EndUpgradeTime字符串的方法:
func (planet *Planet) UpgradeMine() { planet.EndUpgradeTime = "hello!" time.AfterFunc(planet.GetUpgradeTime(), planet.ApplyUpgrade) planet.EndUpgradeTime = time.Now().Add(planet.GetUpgradeTime()).Format("Mon Jan 02 2006 15:04:05 GMT-0700") fmt.Println("timer started") fmt.Println(planet.EndUpgradeTime) }
func (planet *Planet) ApplyUpgrade() { planet.EndUpgradeTime = time.Time{}.Format("Mon Jan 02 2006 15:04:05 GMT-0700") fmt.Println("timer done") fmt.Println(planet.EndUpgradeTime) // update metal stock planet.GetMetalStock() // change metal level planet.UpMetalMine() }
我想做的是一个倒数计时器,该计时器显示金属实际正在升级时完成升级之前的时间,但是我找不到一种很好的方法来做到这一点。如果我仅在客户端进行倒数计时,则如果用户刷新或关闭页面并重新打开它,它将不起作用。
非常感谢!
PS:调用模板的处理程序
package main
import ( "github.com/pdeguing/empire-and-foundation/data" "net/http" )
// GET /dashboard // Show player main dashboard page func dashboard(w http.ResponseWriter, r *http.Request) { sess, err := session(w, r) if err != nil { http.Redirect(w, r, "/login", 302) return } user, err := sess.User() if err != nil { info("cannot get user from session") } planet, err := data.PlanetByUserId(user.Id) if err != nil { info("could not get user planet", err) if planet, err = user.CreatePlanet(); err != nil { danger("could not create user planet:", err) } } newStock := planet.GetMetalStock() info("updated metal stock to :", newStock) generateHTML(w, planet, "layout", "private.navbar", "dashboard") }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。