如何从异步返回值

2024-05-29 11:47:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在运行一个发布here的示例。我对代码做了一些修改,希望获得数据值并在主函数外打印,如代码所示。但我收到了一条错误消息

<Task pending name='Task-1' coro=<main() running at C:\Users\abc\Desktop\Py\untitled15.py:7>>

我不善于使用async方法。一定是跟这个有关

我在Python3.8.3中使用spyder。代码如下:

from bscscan import BscScan
import asyncio

YOUR_API_KEY = '-------' # private keys
adr = '----------' # any address

async def main():
  async with BscScan(YOUR_API_KEY) as bsc: 
        data = await bsc.get_bep20_token_transfer_events_by_address(
                address=adr,
                startblock=0,
                endblock=999999999,
                sort="asc"
            )
        
  return data
#===========================================================================

if __name__ == "__main__":
    # asyncio.run(main()) #this does not work inside spyder
    data = asyncio.create_task(main()) #this works inside spyder
    print(data)

Tags: key代码nameimportapiasynciotaskyour

热门问题