2014-10-03 57 views
0

我有一些运行分析云功能的代码,然后处理结果。这使用他们的JavaScript API(1.3.0),并在离子框架应用程序中运行。在铬浏览器的Mac上运行时,响应通常需要大约500ms。在iOS上运行的完全相同的代码似乎差异很大。它总是慢得多,可能需要3到20秒。 iOS和Mac都在同一个无线网络上。为什么它慢得多,我如何加快速度?iOS上缓慢的Parse.Cloud.run

var start = Date.now(); 
console.log("PARSE CLOUD RUN");    
Parse.Cloud.run('getFixtures', {teamID : teamID, divisionID : divisionIDs}, { 
    success: function(response) { 
     console.log("PARSE CLOUD SUCCESS :" + (Date.now() - start)); 

回答

0

有一种更好的方法来处理这种情况。解析查询具有对缓存的内置支持,这使得将查询结果保存在磁盘上更容易。如果没有网络访问,您的应用可以从缓存中加载结果。缓存也提高了应用程序的性能。每次运行应用程序时,都不需要从Parse加载数据,而是在启动时从缓存中检索数据。

默认情况下,禁用缓存。但它可以使用一行代码轻松启用。添加在queryForTable下面的代码:方法(PFquery初始化后):

query.cachePolicy = kPFCachePolicyCacheThenNetwork 

解析查询支持各种类型的缓存策略。 kPFCachePolicyCacheThenNetwork政策只是其中之一。它首先从缓存中加载数据,然后从网络加载数据。