comparison libervia/pages/_browser/tmp_aio.py @ 1347:48e2a8b07c0b

browser: async version of bridge
author Goffi <goffi@goffi.org>
date Sat, 05 Sep 2020 21:59:11 +0200
parents
children
comparison
equal deleted inserted replaced
1346:cda5537c71d6 1347:48e2a8b07c0b
1 from browser import window
2
3 """Q&D module to do ajax requests with data types currently unsupported by Brython"""
4 # FIXME: remove this module when official aio module allows to work with blobs
5
6 window.eval("""
7 var _tmp_ajax = function(method, url, format, data){
8 return new Promise(function(resolve, reject){
9 var xhr = new XMLHttpRequest()
10 xhr.open(method, url, true)
11 xhr.responseType = format
12 xhr.onreadystatechange = function(){
13 if(this.readyState == 4){
14 resolve(this)
15 }
16 }
17 if(data){
18 xhr.send(data)
19 }else{
20 xhr.send()
21 }
22 })
23 }
24 """)
25
26 ajax = window._tmp_ajax