1

例子:

ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( editor => {
    console.log( editor );
} )
.catch( error => {
    console.error( error );
} );

为什么编辑器创建需要异步?

4

1 回答 1

1

编辑器初始化可以是异步的,因为某些编辑器功能或编辑器 UI 可能需要异步初始化。

我在这里故意不具体。作为一个框架开发者,我不知道框架的用户想要实现什么样的功能。但是,我知道过去的一些例子:

  • 基于<iframe>- 的编辑器(iframe 被异步初始化),即在其中编辑内容的编辑器<iframe>
  • 需要从服务器检索内容的实时协作功能。

如果你正在实现一个需要延迟初始化的插件,那么你可以简单地从它的init()orafterInit()方法返回一个promise:

class MyPlugin extends Plugin {
    init() {
        return new Promise( resolve => {
            // Call resolve() once your plugin is ready:
            resolve();
        } );
    }
}
于 2018-05-14T09:37:34.957 回答