♻️ Implement some delayed kernel events using task queues https://github.com/siyuan-note/siyuan/issues/12393

This commit is contained in:
Daniel 2024-09-05 16:28:42 +08:00
parent 4f04ae98dd
commit 50adf9751b
No known key found for this signature in database
GPG key ID: 86211BA83DF03017
6 changed files with 16 additions and 22 deletions

View file

@ -19,6 +19,7 @@ package model
import (
"errors"
"fmt"
"github.com/siyuan-note/siyuan/kernel/task"
"path"
"path/filepath"
"strings"
@ -104,13 +105,10 @@ func BatchUpdateBazaarPackages(frontend string) {
}
util.ReloadUI()
go func() {
util.WaitForUILoaded()
time.Sleep(500)
util.PushMsg(fmt.Sprintf(Conf.language(237), total), 5000)
task.AppendTaskWithDelay(task.PushMsg, 1*time.Second, util.PushMsg, fmt.Sprintf(Conf.language(237), total), 5000)
}()
return
}

View file

@ -19,6 +19,7 @@ package model
import (
"bytes"
"fmt"
"github.com/siyuan-note/siyuan/kernel/task"
"os"
"path/filepath"
"runtime"
@ -468,11 +469,10 @@ func InitConf() {
// 上次未正常完成数据索引
go func() {
util.WaitForUILoaded()
time.Sleep(2 * time.Second)
if util.ContainerIOS == util.Container || util.ContainerAndroid == util.Container {
util.PushMsg(Conf.language(245), 15000)
task.AppendTaskWithDelay(task.PushMsg, 2*time.Second, util.PushMsg, Conf.language(245), 15000)
} else {
util.PushMsg(Conf.language(244), 15000)
task.AppendTaskWithDelay(task.PushMsg, 2*time.Second, util.PushMsg, Conf.language(244), 15000)
}
}()
}

View file

@ -477,10 +477,7 @@ func ResetRepo() (err error) {
Conf.Save()
util.PushUpdateMsg(msgId, Conf.Language(145), 3000)
go func() {
time.Sleep(2 * time.Second)
util.ReloadUI()
}()
task.AppendTaskWithDelay(task.ReloadUI, 2*time.Second, util.ReloadUI)
return
}

View file

@ -810,12 +810,9 @@ func syncDelete2AvBlock(node *ast.Node) {
changedAvIDs = append(changedAvIDs, avIDs...)
changedAvIDs = gulu.Str.RemoveDuplicatedElem(changedAvIDs)
go func() {
time.Sleep(256 * time.Millisecond)
for _, avID := range changedAvIDs {
ReloadAttrView(avID)
}
}()
for _, avID := range changedAvIDs {
ReloadAttrView(avID)
}
}
func syncDelete2Block(node *ast.Node) (changedAvIDs []string) {