允许从 StorageManager 的 '.load' 和 '.store' 方法返回承诺
问题
这将提供比当前基于回调的方法更现代、更简洁的 API。 拟议API: “JavaScript 编辑。StorageManager.add('simple-storage', { 加载:异步键 => { const result = await foo(keys) return JSON.parse(result) }, async store(data) { const result = waitit bar(data) 回球结果 } }); 2.切换到仅承诺的 StorageManager API 这样做的最大好处是,我们会鼓励更为最佳的实践方法,API也会简单许多。不用支持两个略有不同的 API,也有助于维护。不幸的是,这将是一个突破性的变化,最好配合整个图书馆的承诺推广。还有其他 API 也需要支持承诺,比如命令。3.新增方法:'asyncLoad' 和'asyncStore' 用户需要选择使用基于回调的“加载”/“存储”方法,或基于承诺的异步对应方法。在我看来,这似乎是选项1和2中最糟糕的。 我很乐意为此开个永久居民,但在继续之前,听听大家对哪种方法最好的看法会更好 :smile:
回答(3)
谢谢你的想法!希望这周我有时间实现它
Tom,这个功能请求真酷,我非常希望能有个永久授权。 我肯定会选择你的第一个方法,不破坏当前API始终是一个目标。仅仅是能添加创建异步等待的自定义存储管理器功能就太棒了。以后我们也可能更新内置的“本地”和“远程”存储,使其能够实现这种方式。 这里有一个我预期可行的示例(也要检查[存储事件](https://grapesjs.com/docs/modules/Storage.html#events)是否正常工作) “''js const asyncStorage = {}; 编辑。StorageManager.add('async-storage', { 非同步加载(keys) { retur...
通过新的 StorageManager 重构,这个功能可以关闭 https://github.com/artf/grapesjs/pull/4223
相关问答
通过相似的问题讨论继续研究。
问题 #5718
可能存在升级路径问题,“textnode”从0.18到>版本被改为“wrapper”。
GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome 版本 122.0.6261.95(官方版本)(64 位) 可复制演示链接 https://jsfiddle.net/n4x6L1v0/2/ 描述一下那个虫子 如何复现这个漏...
问题 #3071
BUG:初始加载时触发了更新监听器
你好!我在更新监听器上发现了一个奇怪的bug。如果 html 代码带有<img>带有 class 属性的标签,则在初次加载时触发: “JavaScript const editor = Grapesjs.init({ 容器:“#gjs”, storageManager: { t...
问题 #3207
Form is not submitting
我正在尝试创建自定义方块。但当我在内容中使用“组件”时,表单没有提交。 当我用“内容”代替“组件”时,我能获取所有表单数据。 但这样就不允许我拖拽新的输入到成型状态。
问题 #3268
How to add javascript in the html without sanitization?
@artf,我正在接收用户的JavaScript输入。我需要在模板HTML里添加这个JavaScript,但它会被净化。 有没有办法关闭消毒功能?(我对你提到的#3245问题没有意见)或者你能在编辑器里添加类似“allowSanitization: false”这样的属性吗?...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。