mirror of
https://github.com/micropython/micropython.git
synced 2025-09-07 02:10:52 +02:00
36 lines
768 B
JavaScript
36 lines
768 B
JavaScript
// Test JavaScript await'ing on Python async functions.
|
|
|
|
const mp = await (await import(process.argv[2])).loadMicroPython();
|
|
|
|
globalThis.asyncTimeout = (ms) =>
|
|
new Promise((resolve) => setTimeout(resolve, ms));
|
|
|
|
mp.runPython(`
|
|
import js
|
|
|
|
def f0():
|
|
print("f0 run")
|
|
return 1
|
|
|
|
async def f1():
|
|
print("f1 run")
|
|
return 2
|
|
|
|
async def f2():
|
|
print("f2 start")
|
|
await js.asyncTimeout(0)
|
|
print("f2 end")
|
|
return 3
|
|
|
|
async def f3():
|
|
print("f3 start")
|
|
ret = await f2()
|
|
print("f3 end")
|
|
return ret + 1
|
|
`);
|
|
|
|
console.log("f0 return:", await mp.globals.get("f0")());
|
|
console.log("f1 return:", await mp.globals.get("f1")());
|
|
console.log("f2 return:", await mp.globals.get("f2")());
|
|
console.log("f3 return:", await mp.globals.get("f3")());
|