首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python中回调函数中的返回值

Python中回调函数中的返回值
EN

Stack Overflow用户
提问于 2022-07-21 06:13:31
回答 1查看 81关注 0票数 0

我有以下代码:

代码语言:javascript
运行
复制
from time import sleep
from pybit import spot
ws_spot = spot.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)
def handle_message(msg):
    print(msg)

ws_spot.depth_v2_stream(
    handle_message, "ETHUSDT"
)
while True:
    sleep(1)

我想修改函数"handle_message“,以便它可以返回值。我试过了

代码语言:javascript
运行
复制
from time import sleep
from pybit import spot
ws_spot = spot.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)

def handle_message(msg):
    return msg

x = handle_message(msg)

ws_spot.depth_v2_stream(
    handle_message, "ETHUSDT"
)
while True:
    print(x)

但是,由于没有定义"msg“,所以它不起作用。我可以知道在这种情况下如何返回值吗?谢谢。

EN

Stack Overflow用户

发布于 2022-07-21 06:18:39

我不知道您的代码到底在尝试什么,但您需要这样做:

代码语言:javascript
运行
复制
from time import sleep
from pybit import spot
ws_spot = spot.WebSocket(
    test=True,
    ping_interval=30,  # the default is 30
    ping_timeout=10,  # the default is 10
    domain="bybit"  # the default is "bybit"
)

savedmsg = None
def handle_message(msg):
    global savedmsg
    savedmsg = msg
    print(msg)

ws_spot.depth_v2_stream(
    handle_message, "ETHUSDT"
)

while not savedmsg:
    sleep(1)

print(savedmsg)
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73061475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档