0
다트 Webapp에서 Isolates를 사용하려고하는데 오류 콜백 인수가 작동하지 않는 것처럼 보입니다. Dartium에서 실행되는 매우 기본적인 코드가 있습니다.Dart Isolate unhandledExceptionCallback을 어떻게 사용해야합니까?
import "dart:isolate";
void main() {
print("Main.");
spawnFunction(test, (IsolateUnhandledException e) {
print(e);
});
}
void test() {
throw "Ooops.";
}
"메인"보다 절대로 아무것도 표시되지 않습니다. 콘솔에 인쇄되어 있습니다. 내가 잘못한 일을하고 있니?
내가 아는 한, 아직 구현되지 않았습니다. – Ladicek
그런 다음 격리 (Isolate)에서 메시지를 잡아서 기록하는 가장 쉬운 방법은 무엇입니까? 격리는 DOM에 액세스하거나 콘솔에 인쇄 할 수 없습니다. 예외가 스트림에서 직렬화 가능한지 여부는 알 수 없습니다.이 경우 MessageBox 및 streamSpawnFunction 변형을 사용하여 호스트 코드로 보낼 수 있고 거기에 인쇄 할 수 있기 때문입니다. 하지만 이것은 지옥처럼 추악합니다. ( – NagyI
좋습니다.하지만이 방법은 매우 엉망이됩니다.) 독자적으로 래퍼 Isolate 클래스를 작성할 수 있습니다. 어쨌든 이미 도우미 코드가 필요한 양방향 통신이 필요합니다. 어쨌든 이전 Dart 버전에서 Isolate 클래스를 제거하는 것이 왜 좋았는지 모르겠습니다. 혼자서 스트림을 재현하는 것이 훨씬 더 혼란 스럽습니다. – NagyI