Skip to content

Commit 788af88

Browse files
committed
fix enviroment promise loading bug on pyenv
1 parent 0124aa0 commit 788af88

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

pyscriptjs/src/App.svelte

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,15 @@
1414
1515
const initializePyodide = async () => {
1616
pyodideReadyPromise = loadInterpreter();
17+
const pyodide = await pyodideReadyPromise;
1718
let newEnv = {
1819
id: 'a',
1920
promise: pyodideReadyPromise,
21+
runtime: pyodide,
2022
state: 'loading',
2123
};
22-
pyodideLoaded.set(pyodideReadyPromise);
24+
pyodideLoaded.set(pyodide);
25+
2326
loadedEnvironments.update((value: any): any => {
2427
value[newEnv['id']] = newEnv;
2528
});

pyscriptjs/src/components/pyenv.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,21 @@ import { loadPackage, loadFromFile } from '../interpreter';
55

66
// Premise used to connect to the first available pyodide interpreter
77
let pyodideReadyPromise;
8+
let runtime;
9+
10+
pyodideLoaded.subscribe(value => {
11+
runtime = value;
12+
console.log("RUNTIME READY")
13+
});
814

915
export class PyEnv extends HTMLElement {
1016
shadow: ShadowRoot;
1117
wrapper: HTMLElement;
1218
code: string;
1319
environment: any;
20+
runtime: any;
21+
env: string[];
22+
paths: string[];
1423

1524
constructor() {
1625
super();
@@ -40,20 +49,20 @@ export class PyEnv extends HTMLElement {
4049
}
4150

4251
async function loadEnv() {
43-
const pyodide = await pyodideReadyPromise;
44-
await loadPackage(env, pyodide);
52+
await loadPackage(env, runtime);
4553
console.log('enviroment loaded');
4654
}
4755

4856
async function loadPaths() {
4957
const pyodide = await pyodideReadyPromise;
5058
for (const singleFile of paths) {
51-
await loadFromFile(singleFile, pyodide);
59+
await loadFromFile(singleFile, runtime);
5260
}
5361
console.log('paths loaded');
5462
}
63+
5564
addInitializer(loadEnv);
5665
addInitializer(loadPaths);
57-
console.log('enviroment loading...', env);
66+
console.log('enviroment loading...', this.env);
5867
}
5968
}

0 commit comments

Comments
 (0)