如何在Python中将参数传递给回调函数?

费拉图

我想使代码对HTTP调用异步,因为在进行调用时整个程序都会停止。

我看了一下grequests,无法弄清楚,与asyncio一样

这是代码的当前同步版本:

myvar1 = class_object()

response = requests.get(myvar1.url)

if response.status_code == 200:
    myvar1.accept()

我想改为执行以下操作:

def myfunction:

    request.get(myvar1.url,callbackfunction(response,myvar1))

    return None

def callbackfunction(response,myvar1):

    if response.status_code == 200:
        myvar1.accept()

我可以成功地将回调函数传递给请求,问题是如何将参数传递给该回调。

基本上,目标是执行回调函数的传递参数的方法。

夸兰纳

让我们做一个局部函数:


def myfunction(var, func):

    request.get(var.url, callback =  func)


def callbackfunction(response, var):

    if response.status_code == 200:
        var.accept()

# Now make a partial function to wrap callbackfunction
def wrapper(var):
    def callback(response):
        callbackfunction(response, var)
    return callback

myvar1 = class_object()

myfunction(myvar1, wrapper(myvar1))

因此,requests.get()最终将调用func(response)哪个,实际上将是callback(response)哪个调用callbackfunction(response, myvar1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在express中将参数传递给回调函数?

如何在flutter中将参数传递给回调?

React - 如何在回调函数中将参数从子级传递给父级(onClick)

如何在Javascript .filter()方法中将额外的参数传递给回调函数?

如何在JavaScript中将变量传递给回调函数

在javascript中将参数传递给回调函数

在void参数中将数组传递给回调函数

如何在python中将参数传递给mapper函数?

如何在Python模块中将参数传递给main函数?

如何在Python中将列表作为参数传递给函数

如何在Node.js中将参数传递给mysql查询回调

如何在php中将正则表达式参数传递给preg replace回调?

如何在Node.js中将函数/回调传递给子进程?

如何在Node.js中将变量传递给预定义的回调函数

如何在Android中将不同的回调传递给相同的函数

如何在puppeteer的$ eval中将变量传递给回调?

如何将参数传递给回调函数内部

如何将参数传递给匿名回调函数?

如何将参数传递给addEventListener的回调函数

将参数传递给Python中的回调函数

如何在不访问Java母函数的情况下将参数传递给回调

将参数传递给回调函数

将参数传递给回调函数

将参数传递给回调函数

如何在php的回调函数中传递参数?

如何在Java中将函数作为参数传递给Callable

如何在PowerShell中将多个参数传递给函数?

如何在JavaScript中将参数传递给匿名函数?

如何在Angular指令中将参数传递给函数?