asyncio - python3.5 中使用chain coroutine
怪我咯
怪我咯 2017-04-17 17:54:10
0
1
963

想在python3.5实现chain coroutine

#!/usr/bin/env python3.5

import sqlite3
import myslice
import json
import asyncio

conn = sqlite3.connect('db.sqlite')
cursor = conn.cursor()

def user():
    cursor.execute("SELECT user_id, config, password from user")
    for row in cursor:
        item = yield row[0], json.loads(row[1]), row[2]

@asyncio.coroutine
def account():
    item = yield from user()
    user_id = item[0]
    # print(user_id)
    # c = yield cursor.execute("SELECT config from account WHERE user_id=%s" %(user_id,))
    # print(c)

def main():
    loop = asyncio.get_event_loop()
    loop.run_until_complete(account())

if __name__ == '__main__':
    main()

但是错误是RuntimeError: Task got bad yield:, 不知道怎么解决

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(1)
左手右手慢动作

公式のチェーン コルーチンの例は次のとおりです

リーリー

@acyncio.coroutine と同等の非同期

明らかに、著者の方法ではチェーン コルーチンを実現できません。共関数は作業を完了する必要があり、収量を得ることができないためです
しかし、次のように行うことができます

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート