Explorar o código

rendermime: Don't stop if error in canRender

In rendermime, if an error occured when the canRender() function is
called, the notebook should not stop and break. Rather it should
continue and attempt others.
AbdealiJK %!s(int64=8) %!d(string=hai) anos
pai
achega
2805abdf02
Modificáronse 1 ficheiros con 8 adicións e 1 borrados
  1. 8 1
      src/rendermime/rendermime.ts

+ 8 - 1
src/rendermime/rendermime.ts

@@ -146,7 +146,14 @@ class RenderMime {
       if (model.data.has(mimeType)) {
         let options = { mimeType, model, sanitizer };
         let renderer = this._renderers[mimeType];
-        if (renderer.canRender(options)) {
+        let canRender = false;
+        try {
+          canRender = renderer.canRender(options);
+        } catch (err) {
+          console.error(
+            `Got an error when checking the renderer for the mimeType '${mimeType}'\n`, err);
+        }
+        if (canRender) {
           return true;
         }
       }