【发布时间】:2018-05-10 16:56:48
【问题描述】:
例子:
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( editor => {
console.log( editor );
} )
.catch( error => {
console.error( error );
} );
为什么编辑器创建需要异步?
【问题讨论】:
例子:
ClassicEditor
.create( document.querySelector( '#editor' ) )
.then( editor => {
console.log( editor );
} )
.catch( error => {
console.error( error );
} );
为什么编辑器创建需要异步?
【问题讨论】:
编辑器初始化可以是异步的,因为某些编辑器功能或编辑器 UI 可能需要异步初始化。
我在这里故意不具体。作为一个框架开发者,我不知道框架的用户想要实现什么样的功能。不过,我知道一些过去的例子:
<iframe> 的编辑器(iframe 异步初始化),即在<iframe> 中编辑内容的编辑器,如果您正在实现一个需要延迟初始化的插件,那么您可以简单地从其init() 或afterInit() 方法返回一个promise:
class MyPlugin extends Plugin {
init() {
return new Promise( resolve => {
// Call resolve() once your plugin is ready:
resolve();
} );
}
}
【讨论】: