diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libervia/pages/_browser/tmp_aio.py	Sat Sep 05 21:59:11 2020 +0200
@@ -0,0 +1,26 @@
+from browser import window
+
+"""Q&D module to do ajax requests with data types currently unsupported by Brython"""
+# FIXME: remove this module when official aio module allows to work with blobs
+
+window.eval("""
+var _tmp_ajax = function(method, url, format, data){
+    return new Promise(function(resolve, reject){
+        var xhr = new XMLHttpRequest()
+        xhr.open(method, url, true)
+        xhr.responseType = format
+        xhr.onreadystatechange = function(){
+            if(this.readyState == 4){
+                resolve(this)
+            }
+        }
+        if(data){
+            xhr.send(data)
+        }else{
+            xhr.send()
+        }
+    })
+}
+""")
+
+ajax = window._tmp_ajax