Мне очень нравится Transcrypt, фантастический компилятор Python 3 в Javascript, доступный как python module. Большая часть моего кода является синхронным, но у меня не было проблем с выполнением запросов setTimeout и XHR. Теперь я начал использовать PouchDB для локального сохранения и стараюсь найти прекрасный способ справиться с обещаниями. На данный момент, я делаю это, чтобы написать к примеру pouchdb:Использование обещаний с Transcrypt
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)
Это прекрасно работает, но мне интересно знать кое-что о обещаниях быть transcrypted из питона в Javascript (это может спасти меня от безумия):
- Есть ли более предпочтительные «питонические» способы справиться с этим?
- Можно ли использовать асинхронный/ожидающий ES7 через Transcrypt? Поскольку Transcrypt позволяет получить доступ к функциям Javascript непосредственно из кода python, я подумал, что здесь может быть какой-то трюк, который я не получаю.
Спасибо!
Полезно знать, спасибо. – fzzylogic