소스 검색

refac: pyodide worker error handling

Timothy J. Baek 1 년 전
부모
커밋
066789d423
2개의 변경된 파일6개의 추가작업 그리고 2개의 파일을 삭제
  1. 1 1
      src/lib/components/chat/Messages/CodeBlock.svelte
  2. 5 1
      src/lib/workers/pyodide.worker.ts

+ 1 - 1
src/lib/components/chat/Messages/CodeBlock.svelte

@@ -5,7 +5,7 @@
 	import 'highlight.js/styles/github-dark.min.css';
 	import { loadPyodide } from 'pyodide';
 	import { tick } from 'svelte';
-	import PyodideWorker from '../../../workers/pyodide.worker?worker';
+	import PyodideWorker from '$lib/workers/pyodide.worker?worker';
 
 	export let id = '';
 

+ 5 - 1
src/lib/workers/pyodide.worker.ts

@@ -59,7 +59,11 @@ self.onmessage = async (event) => {
 	// make sure loading is done
 	await loadPyodideAndPackages(self.packages);
 
-	self.result = await self.pyodide.runPythonAsync(code);
+	try {
+		self.result = await self.pyodide.runPythonAsync(code);
+	} catch (error) {
+		self.stderr = error.toString();
+	}
 	self.postMessage({ id, result: self.result, stdout: self.stdout, stderr: self.stderr });
 };