我的初始化cornerstonecore.init().then(function(){ // 初始化成功后执行的代码 console.log('init sucess'); }).catch(function(error){ // 初始化失败后执行的代码 console.log('init faild'); });控制台成功输出了init sucess信息,但在浏览器中的consloe还是出现了Uncaught Error: @cornerstonejs/core is not initialized, run init() first at new RenderingEngine (RenderingEngine.js:79:19) at eval (app.js:124:25) at ./src/app.js (app.js:5413:1) at __webpack_require__ (app.js:5738:33) at app.js:6837:37 at app.js:6839:12这是为什么
时间: 2024-03-16 22:44:37 浏览: 163
这个问题可能是因为你在初始化之后立即使用了Cornerstone的某些功能,但是这些功能需要一些时间来加载和准备。你可以使用`cornerstoneWADOImageLoader`来确保所有图像加载器都已准备就绪,然后再使用Cornerstone的渲染引擎。
以下是一个使用`cornerstoneWADOImageLoader`的例子:
```
import * as cornerstone from 'cornerstone-core';
import * as cornerstoneWADOImageLoader from 'cornerstone-wado-image-loader';
// 初始化Cornerstone和图像加载器
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.webWorkerManager.initialize({
maxWebWorkers: navigator.hardwareConcurrency || 1,
startWebWorkersOnDemand: true,
taskConfiguration: {
decodeTask: {
loadCodecsOnStartup: true,
initializeCodecsOnStartup: false,
codecsPath: '/cornerstone/codecs/'
}
}
});
// 等待图像加载器准备就绪
cornerstoneWADOImageLoader.webWorkerManager.onInitialized(function(){
// 执行渲染操作
cornerstone.renderWebGL(canvas, imageData, cornerstone.getDefaultViewport(image, canvas));
});
```
在这个例子中,我们使用`cornerstoneWADOImageLoader`来初始化Cornerstone和图像加载器,并等待图像加载器准备就绪之后再执行渲染操作。你可以根据你的需求修改这个例子,并确保在使用Cornerstone之前等待所有必要的组件都已准备就绪。
阅读全文