例:
ClassicEditor .create( document.querySelector( '#editor' ) ) .then( editor => { console.log( editor ); } ) .catch( error => { console.error( error ); } );
为什么编辑器创建需要异步?
编辑器初始化可以是异步的,因为某些编辑器功能或编辑器UI可能需要异步初始化 .
我故意在这里肆无忌惮 . 作为框架开发人员,我不知道框架的用户想要实现什么样的功能 . 但是,我知道过去的一些例子:
基于 <iframe> 的编辑器(异步初始化iframe),即在 <iframe> 内编辑内容的编辑器,
<iframe>
需要从服务器检索内容的实时协作功能 .
如果您正在实现一个需要推迟初始化的插件,那么您只需从其init()或afterInit()方法返回一个promise:
class MyPlugin extends Plugin { init() { return new Promise( resolve => { // Call resolve() once your plugin is ready: resolve(); } ); } }
1 回答
编辑器初始化可以是异步的,因为某些编辑器功能或编辑器UI可能需要异步初始化 .
我故意在这里肆无忌惮 . 作为框架开发人员,我不知道框架的用户想要实现什么样的功能 . 但是,我知道过去的一些例子:
基于
<iframe>
的编辑器(异步初始化iframe),即在<iframe>
内编辑内容的编辑器,需要从服务器检索内容的实时协作功能 .
如果您正在实现一个需要推迟初始化的插件,那么您只需从其init()或afterInit()方法返回一个promise: