我定义了以下装饰器:
def _send(code):
def wrapper(func):
def wrapperIn(*args, **kwargs):
# Do stuff
return value
return wrapperIn
return wrapper
以及用它装饰的以下函数:
@_send(0)
def _getServerResponse(ID):
pass
当调用_getServerResponse时,我需要在装饰器中将“值”作为返回变量的“值”,但即使我尝试我只实现返回“无”,就好像在包装器调用之间的某个地方丢失了值。 / p>
有没有办法实现我想做的事情?
提前致谢。
答案 0 :(得分:1)
也许是你的
# Do stuff
如下所示:
value = func(*args, **kwargs)
return value
由于您的包装函数返回None,因此您将获得None :)。这只是假设,为了给出100%正确的答案,我需要更多的代码行。
答案 1 :(得分:0)
确保您的函数实际返回了某些内容并且wrapperIn
函数正在返回该值。
如果您仍然感到困惑,请进入wrapperIn
中的代码并查看。