Я хочу сделать написание в python, например, следующие коды node.js:
async = require('async');
async.parallel({
html: (done) => {
//get html from url
html = 'html codes...'
done(null, html)
},
data: (done) => {
//get data from db
data = [
{
id: 1,
name: 'Jay',
},
{
id: 2,
name: 'Jonh',
}
]
done(null, data)
},
}, (err, result) => {
console.log('html', result.html)
console.log('data', result.data)
});
Вышеприведенное выполняет две параллельные задачи и возвращает результат, содержащий ключ с 'html' и 'data'to flag.
Я хочу сделать то же самое в pytnon, но я не знаю, как это сделать asyncio, см. следующие коды:
import asyncio
async def get_html():
await asyncio.sleep(1)
html = 'html codes...'
return html
async def get_data():
await asyncio.sleep(1)
data = [
{
'id': 1,
'name': 'Jay',
},
{
'id': 2,
'name': 'Jonh',
}
]
return data
async def main():
tasks = [get_html(), get_data()]
result = await asyncio.gather(*tasks)
print(type(result)) # But it's a list
# result['html'] #I want it is contains key with 'html' and 'data'
# result['data']
print(result[0]) # I dont know which is html
print(result[1]) # And which is data
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
loop.close()
Заранее спасибо!:)