2017-01-27 4 views
0

Mit Extjs 4.1 tritt ein intermittierender Fehler auf. Manchmal tritt es auf, aber die meiste Zeit nicht.
Es tritt immer auf, wenn ich die Anwendung starte, also drücke ich F5 und alles kehrt zum Normal zurück.Extjs intermittierender Fehler


this reference Mit den Fehler zu debuggen, bemerkte ich, dass es an der Linie ist 29590.

Die Fehlermeldung sehr allgemein auftritt: sein muss

Uncaught TypeError: Cannot read property 'dom' of null
at constructor.finishRender (ext-all-debug-w-comments.js:29590)
at constructor.finishRenderItems (ext-all-debug-w-comments.js:39796)
at constructor.finishRender (ext-all-debug-w-comments.js:40889)
at constructor.finishRenderChildren (ext-all-debug-w-comments.js:44526)
at constructor.afterRender (ext-all-debug-w-comments.js:29331)
at constructor.callParent (ext-all-debug-w-comments.js:6194)
at constructor.afterRender (ext-all-debug-w-comments.js:36521)
at constructor.finishRender (ext-all-debug-w-comments.js:29625)
at constructor.finishRenderItems (ext-all-debug-w-comments.js:39796)
at constructor.finishRender (ext-all-debug-w-comments.js:40889)

Here is an error print

Was verursacht dies?

Antwort

1

Ich hätte dies einen Kommentar gemacht, aber es passt nicht.

Es gibt eine Vielzahl von Gründen, die mir einfielen. Die meisten basieren auf asynchronen Aufrufen. Sie müssen auf jeden Fall mehr Informationen bereitstellen, damit die Frage beantwortbar ist.

Offensichtlich me.el ist null, was es nicht sein sollte. Zuerst müssen Sie herausfinden, welche Komponente das Problem verursacht. Dazu sollten Sie Linie 29590 gegen etwas wie folgt auszutauschen:

try { 
    me.container = Ext.get(me.el.dom.parentNode); 
} catch(e) { 
    console.log(me.id); 
    console.log(me.itemId); 
    console.log(me.xtype); 
    ... 
    console.log(me); 
    throw e; 
} 

Dies sollte Ihnen eine Idee geben, welche Komponente (n) betroffen sein würde.

Dann zeigen Sie uns den Code dieser Komponente. Überprüfen Sie auch, ob Sie die Konfiguration dieser Komponente von außerhalb der Komponente ändern, z. von einer Speicherladeoperation oder anderen asynchronen Tasks. Außerdem sollten Sie überprüfen, ob die Überschreibungen für die Komponente und ihre Vorfahren aus separaten JS-Dateien geladen werden - vielleicht werden sie manchmal vorher geladen, manchmal nachdem der finishRender aufgerufen wurde, und genau diesen Fehler beheben.

Dies sind nur einige der möglichen Gründe.

+0

Dankbar für die Rückkehr. Ich habe den 'try catch' hinzugefügt, wie du erwähnt hast. Aber der Fehler tritt nicht mehr auf. Sobald ich eine Rückkehr bekomme, kommentiere ich hier. –

Verwandte Themen