Skip to content

Commit

Permalink
Fix/redirecttooquick (#153)
Browse files Browse the repository at this point in the history
* unloaded nexterenderer when redirect too quick

* remove unload

* add cancel load
  • Loading branch information
realPy committed Jul 19, 2023
1 parent 6c8f3be commit e9d41b1
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions routing.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ type RouteMap struct {
currentRendering Rendering
nextRendering Rendering
routing map[string]Rendering
cancel *bool
}

//Router
Expand Down Expand Up @@ -135,9 +136,18 @@ func (r *RouteMap) loadChilds(d document.Document, obj Rendering, node node.Node

var promisewaitAll promise.Promise
var err error
var cancel *bool = r.cancel

if p != nil {
if promisewaitAll, err = promise.All(allpromise...); AssertErr(err) {
promisewaitAll.Finally(func() {

if cancel != nil {
if *cancel == true {
return
}
}

if r.nextRendering == obj {
if r.currentRendering != nil {
r.currentRendering.OnUnload()
Expand Down Expand Up @@ -185,7 +195,9 @@ func (r *RouteMap) Go(newroute string) {

if historyObj, err := w.History(); err == nil {
historyObj.PushState(nil, newroute, newroute)

if r.currentRendering != r.nextRendering {
*r.cancel = true
}
r.onurlchange()

}
Expand All @@ -212,7 +224,8 @@ func (r *RouteMap) onChangeRoute(newroute string) {
func (r *RouteMap) LoadRendering(obj Rendering) {

r.nextRendering = obj

var cancel bool = false
r.cancel = &cancel
if d, err := document.New(); err == nil {

if r.defaultRendering != nil {
Expand Down

0 comments on commit e9d41b1

Please sign in to comment.