我对Transcrypt玩得很开心,这是一个很棒的 Python 3 到 Javascript 编译器,可作为python 模块使用。我的大部分代码都是同步的,但我在处理 setTimeout 和 XHR 请求方面没有问题。现在我已经开始使用 PouchDB 进行本地持久性,并试图找到一种处理 Promise 的漂亮方法。目前,我这样做是为了写入 pouchdb 实例:
def db_put():
def put_success(doc):
print("Put a record in the db. Id: ", doc.id, "rev: ", doc.rev)
def put_failure(error):
print('Failed to put a record in the db. Error: ', error)
strHello = {'_id': "1", 'title': 'hello db'}
db.put(strHello) \
.then(put_success) \
.catch(put_failure)
db = PouchDB('test_db')
document.getElementById("db_put").addEventListener("click", db_put)
这很好用,但我很想知道一些关于从 python 转换为 Javascript 的 Promise 的事情(这可能会让我免于疯狂):
- 是否有更可取的“pythonic”方法来处理这个问题?
- 可以通过 Transcrypt 使用 ES7 的 async / await 吗?由于 Transcrypt 允许直接从 python 代码中访问 Javascript 函数,我认为这里可能有一些我没有得到的技巧。
谢谢!