【问题标题】:Store doesn't update fast enough with Elasticsearch delete使用 Elasticsearch 删除存储的更新速度不够快
【发布时间】:2017-01-02 12:52:08
【问题描述】:

一点背景信息:我有一个平台,用户可以向我提交申请,我可以接受/拒绝他们的申请。应用程序列表在Applications.js.coffee 上列出,每个单独的应用程序在Application.js.coffee 上列出。

我有这个问题,当我在每个单独的应用程序中单击删除后,它会太快返回到应用程序列表?由于加载速度过快,我的store 速度不够快,无法重新处理应用程序列表,因此我删除的应用程序仍然显示在列表中。

# Applications.js.coffee
componentDidMount: () ->
    com.stores.applications.on("apps", @onApps)

onApps: () ->
    a = com.stores.applications.list(@state.apps)
    @setState(apps: a)

# Application.js.coffee
onDelete() ->
    com.actions.delete(@props.id).done(() =>
        com.actions.transitionTo("URL back to Applications.js")

我正在使用 Elasticsearch...实际上我在这方面没有任何经验,因为我正在合作开展这个项目并且不熟悉这项技术。有人告诉我看https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete.html#delete-refresh

我想我有两个选择:1. 将页面加载延迟几毫秒,这样我的 store 调用就有足够的时间来检索新的应用程序列表(使用 delay?)或 2. 使用Elasticsearch 这就是我要寻求帮助的。

【问题讨论】:

    标签: javascript reactjs elasticsearch flux


    【解决方案1】:

    我会使用一个承诺并在您的数据库删除完成时返回它https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise

    【讨论】:

    • 这是一个边界线link-only answer。您应该在此处扩展您的答案以包含尽可能多的信息,并使用该链接仅供参考。
    • 他已经这样做了。他的“promise-like”函数使用.done() 回调而不是.then() 回调。简单地添加一个 Promise 会做同样的事情,所以它不会有帮助。
    • 如果可能的话,我需要更多的解释。我只是用.then() 替换我的.done() 吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-05
    • 2016-11-02
    • 1970-01-01
    • 2021-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多