在函数中使用返回值时出现此异常
@inlineCallbacks
def my_func(id):
yield somefunc(id)
@inlineCallbacks
def somefunc(id):
somevar = yield func(id)
returnValue(somevar)
returnValue(somevar)
File "/usr/lib64/python2.7/site-packages/twisted/internet/defer.py", line 1105, in returnValue
raise _DefGen_Return(val)
twisted.internet.defer._DefGen_Return:
该函数工作正常,但引发异常。 我怎样才能避免这个异常?我只需要从函数返回一些值。
最佳答案
当使用inlineCallbacks
时,你必须产生一个延迟 - 在这种情况下,my_func
中的yield
正在产生func(id)
(我认为这是一个延迟),但随后调用了 returnValue
这是不允许的。
你可能可以这样做:
@inlineCallbacks
def my_func(id):
somevar = yield somefunc(id)
@inlineCallbacks
def somefunc(id):
yield func(id)
关于python - 使用 ReturnValue 时出现扭曲异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32200565/