0
我想在应用程序启动时异步加载一些数据,并使用稍后在应用程序流中呈现的视图控制器中加载的数据。等待承诺退还
如何确定数据是否已加载,如果尚未加载,如何等待加载?
所以,如果在AppDelegate中的代码是... _ = service.LoadData()
,这将返回一个承诺,视图控制器如何知道承诺是否已经返回?
将新的.then
调用添加到承诺的结尾肯定不会工作,如果承诺已经返回。
我想在应用程序启动时异步加载一些数据,并使用稍后在应用程序流中呈现的视图控制器中加载的数据。等待承诺退还
如何确定数据是否已加载,如果尚未加载,如何等待加载?
所以,如果在AppDelegate中的代码是... _ = service.LoadData()
,这将返回一个承诺,视图控制器如何知道承诺是否已经返回?
将新的.then
调用添加到承诺的结尾肯定不会工作,如果承诺已经返回。
根据已解决的承诺调用.then
似乎会导致立即调用闭包。因此,我只是将初始查询的承诺存储起来,然后每当添加一个新的.then
时。如果数据被加载,它立即返回,否则,希望它会等待。
我们不能创建'completionHandlers',即'closures' –
是的,但是你不知道任务是否完成。如果它完成了,那么完成关闭将不会被调用。 –
我认为让你的ViewController知道的唯一方法就是在你的ViewController中添加一个观察者,并在promise返回时立即触发一个通知。使用'NSNotificationCenter' –