【发布时间】:2018-09-25 02:57:43
【问题描述】:
我正在使用一个名为 IBSYNC 的包从 Interactive Broker 请求数据。基本上,代码将返回一个 XML 文件。
代码正在运行,我可以看到 XML 已返回(打印在代理的控制台上)。但是,当我使用 .result() 时,它会返回未决的未来。
我怎样才能获得 XML?
async def ReportsFinStatements(symbol, exchange, currency, primary):
stock = Stock(symbol, exchange, currency, primaryExchange= primary)
#ib.qualifyContractsAsync(stock)
assert await ib.reqContractDetailsAsync(stock)
data = ib.reqFundamentalDataAsync(contract=stock, reportType='ReportsFinStatements')
return data
async def main():
group1 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
group2 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
group3 = loop.create_task(ReportsFinStatements('PIH', 'SMART', 'USD', 'NASDAQ'))
await asyncio.wait([group1, group2, group3])
return group1, group2, group3
if __name__ == '__main__':
try:
loop = asyncio.get_event_loop()
d1, d2, d3 = loop.run_until_complete(main())
except Exception as e:
print('logging')
finally:
loop.close()
d1 是<Task finished coro=<ReportsFinStatements() done, defined at <ipython-input-4-4a5ceba20b3a>:1> result=<Future pending>>
【问题讨论】:
标签: xml asynchronous python-asyncio