简而言之:使用jquery我想获得一些xml输出并将其与自定义网格插件一起使用。我的问题是有效地将我需要的数据存入插件。
该插件需要获取返回节点的数量和行本身。目前我进行2次单独调用以获取xml,一次获取并计算节点并将该数量返回到插件,再次获取它将对数据进行排序并将其传递给插件以进行格式化和显示。
所以插件设置看起来像这样:
$("someID").thePlugin({count:countFunction, rows:loadRowsFunction});
其中countFunction获取xml文件并计算节点和loadRowsFunction ALSO获取xml文件并加载数据。我想获取一次xml文件。最好的方法是什么?
答案 0 :(得分:4)
逻辑选择是分离功能。这符合“干”(不要重复自己)编码原则。
删除count函数和loadRows函数的XML获取部分,并将其放入它自己的函数中,比如xmlFetch()。
现在,make xmlFetch()有一个缓存机制。默认情况下,它在第一次调用内容时获取内容,并将其存储在内存中。如果另一个请求来到xmlFetch(),它只返回已经获取的数据。如果要重新获取数据,可以选择覆盖缓存机制。
现在,你的count函数和loadRows函数都可以调用xmlFetch(),它只会获取一次结果,除非特意告知重新获取。