Watch Kit 异步数据

Posted

技术标签:

【中文标题】Watch Kit 异步数据【英文标题】:Watch Kit Asynchronus data 【发布时间】:2017-09-30 15:08:01 【问题描述】:

我正在创建一个简单的手表套件应用程序,它可以显示当地的巴士时刻表。为了获得时间表,我必须向巴士公司的网站提出请求并解析 html。 (他们没有公共 api....)

Alamofire 用于发出请求,然后使用 SwiftySoup 解析 HTML。然后将数据保存到带有结构的数组中并创建表。然后将数组保存到 JSON 文件中。因此,当应用程序被强制关闭并再次启动时,应用程序会检查当前时间是否超过了第一班车时间,如果为真,应用程序会再次请求网站获取下一个时间表,否则它只会创建包含时间表数量的表。

由于 Alamofire 我正在执行异步请求,因此即使应用程序没有任何数据,它也会完成“启动”。如何在显示 UI 之前“强制”应用程序等待请求和解析完成?

【问题讨论】:

你不能,因为应用程序会被杀死。为加载状态添加一些 UI。 好吧。我可以让应用程序在加载状态下加载另一个接口控制器,并等待它完成然后显示表格吗?当我按下“主页按钮”并再次打开应用程序时,如何让应用程序检查它是否需要再次更新数据? 【参考方案1】:

正如 Josh Caswell 所说,这是不可能的。因此为加载状态创建了 UI。

如果应用没有缓存任何时间表或缓存的数据是旧的,则应用推送加载接口控制器。加载完成后,界面控制器会自行弹出,并且主界面控制器会使用相关的 UI 进行初始化。

【讨论】:

以上是关于Watch Kit 异步数据的主要内容,如果未能解决你的问题,请参考以下文章

vue3.0组件监听异步数据,watch与reactive 的应用, watch与computed, 还有ref的使用

vue3.0组件监听异步数据,watch与reactive 的应用, watch与computed, 还有ref的使用

09.VUE学习之watch监听属性变化实现类百度搜索栏功能ajax异步请求数据

vue 中的computed 和 watch 监听

父组件传异步数据给子组件问题

vue watch原理