代码之家  ›  专栏  ›  技术社区  ›  Nick Manning

为什么CKEditor5使用承诺来初始化它?

  •  1
  • Nick Manning  · 技术社区  · 6 年前

    示例:

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

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

    1 回复  |  直到 6 年前
        1
  •  1
  •   Reinmar    6 年前

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

    我在这里是故意的。作为一名框架开发人员,我不知道框架的用户想要实现什么样的功能。然而,我知道一些过去的例子:

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

    如果您正在实现一个需要推迟初始化的插件,那么您只需从其 init() afterInit() 方法:

    class MyPlugin extends Plugin {
        init() {
            return new Promise( resolve => {
                // Call resolve() once your plugin is ready:
                resolve();
            } );
        }
    }