010-68421378
sales@cogitosoft.com
当前您所在的位置:首页>新闻中心>新品发布

Delphi Promises 现已加入 TMS FNC Cloud Pack

发布时间:2025/03/24 浏览量:64
如果您使用过云 API,您就会知道其中的艰辛之处 等待响应、处理事件回调以及确保每个请求都按正确的顺序发生。事情很快就会变得混...

如果您使用过云 API,您就会知道其中的艰辛之处 — 等待响应、处理事件回调以及确保每个请求都按正确的顺序发生。事情很快就会变得混乱,尤其是当多个操作相互依赖时。

 

为了改善这种情况,我们不久前在 TMS FNC Core 中引入了 Promises。现在,我们很高兴将 Promise 支持直接引入 TMS FNC Cloud Pack!无需管理事件处理程序,Promises 可让您编写更易于阅读和维护的清晰、连续的代码。

 

事件有什么问题?

事件驱动编程是可行的,但它可能会导致逻辑混乱。以下是获取文件夹列表的示例:

通常,这两段代码相距很远,难以监督。最重要的是,每次调用 GetFolderList 时都会触发 OnGetFolderList 事件,因此几乎不可能为单独的 GetFolderList 调用实现自定义逻辑。

 

Promises 如何让事情变得更简单

通过 Promises,你可以将操作链接在一起,将所有内容放在一个地方:

现在逻辑很清晰:获取文件夹列表,然后更新 UI——所有这些都在一个地方完成,没有分散的事件处理程序。

 

真实示例:访问令牌更新

在集成 Promises 时,我们会仔细评估它们在何处带来最大价值。我们发现的一个关键领域是访问令牌续订。有效期较短的令牌可能会在您处理某项任务时过期,从而导致请求意外失败。如果没有 Promises,处理续订需要额外的检查、事件处理程序和重试逻辑。

 

为了解决这个问题,我们在 TTMSFNCCloudOAuth 中引入了 FetchAccessToken。这意味着所有后代组件都会自动受益于这一改进!

 

调用 FetchAccessToken 会返回一个包含最新有效访问令牌的字符串。如果令牌已过期,它会使用刷新令牌自动检索新令牌 - 只需一次调用即可完成!使用方法非常简单:

或者如果你更喜欢等待:

 

今天就尝试一下!

作为第一步,我们将承诺整合到一系列最常用的服务中。这些服务包括:

 

更新到最新版本,将您的云端应用提升到新的水平!有任何问题、意见或需要进一步的帮助吗?请随时联系我们,如果您需要 Promises 对其他云服务的支持,请不要忘记查看我们的功能请求页面。

 

下一篇:Devart--适用于 Oracle 6.0 的 dbForge 工具: 众多新选项和增强功能让您的日常工作更快更轻松
上一篇:Log Server 2024R2已更新

                               

 京ICP备09015132号-996网络文化经营许可证京网文[2017]4225-497号 | 违法和不良信息举报电话:4006561155

                                   © Copyright 2000-2023 北京哲想软件有限公司版权所有 | 地址:北京市海淀区西三环北路50号豪柏大厦C2座11层1105室

                         北京哲想软件集团旗下网站:哲想软件 | 哲想动画

                            华滋生物