【问题标题】:python kivy async storagepython kivy异步存储
【发布时间】:2015-01-02 17:19:21
【问题描述】:

我为我的应用使用同步 JsonStorage,并希望切换到异步。

我的同步通话是:

store.exists(store_index)

我不工作的异步调用是:

def callback_function(store,key,result):
    print "exists:",result

store.exists(store_index, callback=callback_function)

此异步调用引发以下异常:

store.exists(key=store_index,callback=callback_function)
TypeError: exists() got an unexpected keyword argument 'callback'

我也试过这个:

store.async_exists(store_index, callback=callback_function)

但这引发了:

File "main.py", line 199, in __init__  store.async_exists(key=store_index,callback=colorButtonCallback)
File "/home/mike/Dokumente/py-spielwiese/venv/local/lib/python2.7/sitepackages/kivy/storage/__init__.py", line 152, in async_existskey=key, callback=callback)
TypeError: _schedule() got multiple values for keyword argument 'callback'

我做错了什么?

【问题讨论】:

    标签: python storage kivy


    【解决方案1】:

    这是 Kivy 中的一个错误。您的最后一次尝试非常正确(相当于@Anzel 的答案中的代码,尽管@Anzel 的代码是编写相同内容的更好方法)。但最后你仍然会得到_schedule 抛出的错误。我刚刚 submitted a PR 在 kivy-dev 中解决了这个问题。

    【讨论】:

      【解决方案2】:

      async_exists 将回调作为参数,然后是键,因此请尝试更改为:

      store.async_exists(callback_function, store_index)
      

      您可以阅读async_exists查看详情。

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2015-06-18
        • 2020-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-17
        相关资源
        最近更新 更多