Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 电机错误:需要回调_Python_Mongodb_Tornado_Tornado Motor - Fatal编程技术网

Python 电机错误:需要回调

Python 电机错误:需要回调,python,mongodb,tornado,tornado-motor,Python,Mongodb,Tornado,Tornado Motor,使用来自的示例代码 正在获取回溯: Traceback (most recent call last): File "app_main.py", line 51, in run_toplevel File "chat.py", line 22, in <module> tornado.ioloop.IOLoop.current().run_sync(do_find) File "/home/user/venv/packmon-pypy/site-packages/

使用来自的示例代码

正在获取回溯:

Traceback (most recent call last):
  File "app_main.py", line 51, in run_toplevel
  File "chat.py", line 22, in <module>
    tornado.ioloop.IOLoop.current().run_sync(do_find)
  File "/home/user/venv/packmon-pypy/site-packages/tornado/ioloop.py", line 370, in run_sync
    return future_cell[0].result()
  File "/home/user/venv/packmon-pypy/site-packages/tornado/concurrent.py", line 129, in result
    raise_exc_info(self.__exc_info)
  File "/home/user/venv/packmon-pypy/site-packages/tornado/gen.py", line 221, in wrapper
    runner.run()
  File "/home/user/venv/packmon-pypy/site-packages/tornado/gen.py", line 507, in run
    yielded = self.gen.send(next)
  File "chat.py", line 19, in do_find
    for document in (yield cursor.to_list(length=100)):
  File "/home/user/venv/packmon-pypy/site-packages/motor/__init__.py", line 1465, in to_list
    check_callable(callback, required=True)
  File "/home/user/venv/packmon-pypy/site-packages/motor/__init__.py", line 74, in check_callable
    raise TypeError("callback is required")
TypeError: callback is required
回溯(最近一次呼叫最后一次):
运行顶层第51行文件“app_main.py”
文件“chat.py”,第22行,在
tornado.ioloop.ioloop.current().运行同步(do\u查找)
文件“/home/user/venv/packmon-pypypy/site-packages/tornado/ioloop.py”,第370行,运行同步
返回未来_单元格[0]。结果()
文件“/home/user/venv/packmon-pypypy/site-packages/tornado/concurrent.py”,结果中的第129行
提升exc信息(自我信息)
文件“/home/user/venv/packmon-pypypy/site-packages/tornado/gen.py”,第221行,在包装器中
runner.run()
文件“/home/user/venv/packmon-pypypy/site-packages/tornado/gen.py”,第507行,运行中
已生成=self.gen.send(下一个)
do_find中第19行的文件“chat.py”
对于中的文档(将光标移到列表(长度=100)):
文件“/home/user/venv/packmon-pypypy/site-packages/motor/_-init__.py”,第1465行,在to_列表中
检查是否可调用(回调,必需=True)
文件“/home/user/venv/packmon-pypypy/site-packages/motor/_-init__.py”,第74行,可调用
raise TypeError(“需要回调”)
TypeError:需要回调
文档中说,如果没有传递回调,则应该返回Future,但它会抛出一个异常。使用gen.Task可以做到这一点,但我不明白为什么教程中的简单示例不起作用。

您使用了带有“稳定”代码的“最新”教程

背景:。版本0.1.2是当前的“稳定”版本,具有基于回调的API。如“稳定”教程所示,您可以将其与
gen.Task
一起使用。正如本教程将告诉您的,您应该实际使用
motor.Op
,它类似于
gen.Task
,具有更好的异常语义

您正在阅读的“最新”教程反映了我在GitHub上Motor的主分支中的极不稳定的代码。这将在未来几个月内发布为Motor 0.2,并成为新的“稳定”。同时,请遵循当前的“稳定”文档。

后续:2014年4月,现在是0.2。
Traceback (most recent call last):
  File "app_main.py", line 51, in run_toplevel
  File "chat.py", line 22, in <module>
    tornado.ioloop.IOLoop.current().run_sync(do_find)
  File "/home/user/venv/packmon-pypy/site-packages/tornado/ioloop.py", line 370, in run_sync
    return future_cell[0].result()
  File "/home/user/venv/packmon-pypy/site-packages/tornado/concurrent.py", line 129, in result
    raise_exc_info(self.__exc_info)
  File "/home/user/venv/packmon-pypy/site-packages/tornado/gen.py", line 221, in wrapper
    runner.run()
  File "/home/user/venv/packmon-pypy/site-packages/tornado/gen.py", line 507, in run
    yielded = self.gen.send(next)
  File "chat.py", line 19, in do_find
    for document in (yield cursor.to_list(length=100)):
  File "/home/user/venv/packmon-pypy/site-packages/motor/__init__.py", line 1465, in to_list
    check_callable(callback, required=True)
  File "/home/user/venv/packmon-pypy/site-packages/motor/__init__.py", line 74, in check_callable
    raise TypeError("callback is required")
TypeError: callback is required