问题 #2315💬 已回答提出于 2019年10月7日作者 tom-sherman1 个反应

允许从 StorageManager 的 '.load' 和 '.store' 方法返回承诺

快速解答作者 tom-sherman1

谢谢你的想法!希望这周我有时间实现它

阅读下方完整回答 ↓

问题

这将提供比当前基于回调的方法更现代、更简洁的 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-sherman2019年10月17日

谢谢你的想法!希望这周我有时间实现它

artf2019年10月17日

Tom,这个功能请求真酷,我非常希望能有个永久授权。 我肯定会选择你的第一个方法,不破坏当前API始终是一个目标。仅仅是能添加创建异步等待的自定义存储管理器功能就太棒了。以后我们也可能更新内置的“本地”和“远程”存储,使其能够实现这种方式。 这里有一个我预期可行的示例(也要检查[存储事件](https://grapesjs.com/docs/modules/Storage.html#events)是否正常工作) “''js const asyncStorage = {}; 编辑。StorageManager.add('async-storage', { 非同步加载(keys) { retur...

相关问答

通过相似的问题讨论继续研究。

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。