请问如何调用同一个方法?

ZeronoFreya · 2022-09-27 09:12:10 · 3976 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2022-09-27 09:12:10 的主题,其中的信息可能已经有所发展或是发生改变。

用的wails,可以从前端调用go, 写法如下:

var mediaData []string
func (a *App) FilterJson(keyword string)  {
    // ...
    // 发送给前端
    runtime.EventsEmit(a.ctx, "filterJson", mediaData)
}

我在做模糊搜索,网页input中键入一个字符便调用一次FilterJson,但要过滤的json很大,完全遍历很耗时。 现在的想法是: 第一次调用时遍历json, 第二次调用时终止第一次的遍历并获取已处理的数据,以此为基础继续遍历 ...

请问这个应该怎么实现呢?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3976 次点击  ∙  1 赞  
加入收藏 微博
14 回复  |  直到 2022-11-17 09:13:15
Mericusta
Mericusta · #1 · 2年之前

你这个第几次第几次的,后次调用还能中断前次调用,说的应该是并发调用这个函数吧?

你是不是应该考虑一下“go 并发编程”?

ZeronoFreya
ZeronoFreya · #2 · 2年之前
MericustaMericusta #1 回复

你这个第几次第几次的,后次调用还能中断前次调用,说的应该是并发调用这个函数吧? 你是不是应该考虑一下“go 并发编程”?

是的,我考虑过这个,但不确定我的想法是否正确,想听听大家的意见,也许有更好的方法解决

don178
don178 · #3 · 2年之前

第一次遍历json,第二次中止,为什么要中止,这样做有什么意义吗。就算并发,第二个go协程起来后中止第一个go协程,这还不如不并发。要过滤的json很大 是指数据量很大吗。数据是怎么存的。

GO_go_GO1
GO_go_GO1 · #4 · 2年之前

你这模糊搜索做的就很垃圾,换个思路吧

_Aiden_
_Aiden_ · #5 · 2年之前

你应该是希望所有请求只有一个返回结果,可以了解一下singleflight

EddyLee1010
EddyLee1010 · #6 · 2年之前
GO_go_GO1GO_go_GO1 #4 回复

你这模糊搜索做的就很垃圾,换个思路吧

哈哈,一针见血

ZeronoFreya
ZeronoFreya · #7 · 2年之前
GO_go_GO1GO_go_GO1 #4 回复

你这模糊搜索做的就很垃圾,换个思路吧

想骂随意,前提是提供解决方案,我的想法怎么个垃圾法?还是你就纯口嗨?证明一下你自己不垃圾呗?

GO_go_GO1
GO_go_GO1 · #8 · 2年之前
ZeronoFreyaZeronoFreya #7 回复

#4楼 @GO_go_GO1 想骂随意,前提是提供解决方案,我的想法怎么个垃圾法?还是你就纯口嗨?证明一下你自己不垃圾呗?

两次调用是两次http请求懂吗?第二次请求如何从第一次请求中获取数据并且打断第一次请求?这个本来就不好实现。

ZeronoFreya
ZeronoFreya · #9 · 2年之前

@GO_go_GO1 我说了是wails,你怎么得出http通信的?就算是,这是垃圾的理由?不骂人就活不下去?我在外网也问过不少低智问题了,一次被骂的经历都没有,甚至有人帮忙解释我的意图(英文不好),在国内却被如此对待,这是我的问题吗?别给我扣崇洋媚外的帽子,这是完全的事实,还是说,这是老鼠屎与汤的问题。为了论坛和谐,我就此打住,管理如果想删,请随意

haha_cat
haha_cat · #10 · 2年之前

模糊搜索 不该这么做吧 用字典树 会好些?

lysShub
lysShub · #11 · 2年之前

这个不是es吗,应该是键入一个字符时重新从es中查询;不需要对什么很大的东西做解析过滤

ZeronoFreya
ZeronoFreya · #12 · 2年之前
haha_cathaha_cat #10 回复

模糊搜索 不该这么做吧 用字典树 会好些?

我的想法和字典树有一定程度的相似,字典树是提前做好所有可能性对吧,我是动态生成的,理由是我所需要的模糊查询除了顺序,无其他联系。比如abcdeaecebcd等都是有效的关键字,即不要求字符相连,字典树虽然能做,但效率也就那样,更合适的或许是AC自动机,但对我来说过于复杂了。

ZeronoFreya
ZeronoFreya · #13 · 2年之前
lysShublysShub #11 回复

这个不是es吗,应该是键入一个字符时重新从es中查询;不需要对什么很大的东西做解析过滤

查了下这个好像是查询语法,但我没有数据库的。如果理解错了,希望能给个链接

yupor5
yupor5 · #14 · 2年之前

Elasticsearch = es ,查数据要去掉无用的,把有用,分结构分字段保存,这大数据前期

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传