portal html css js resource

cacheUtil.js 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. (function(window) {
  2. var objCache={"professor":{},"company":{}};
  3. var objHCache={"professor":{},"company":{}};//队列(processing)
  4. var objCacheHandler={
  5. "professor":function(id){
  6. jQuery.ajax({
  7. url:"/ajax/professor/baseInfo/"+id,
  8. type:"GET",
  9. success:function(res){
  10. var ha = objHCache.professor[id];//jilu
  11. delete objHCache.professor[id];
  12. if(res.success){
  13. objCache.professor[id]=res.data;
  14. for(var i = 0 ;i < ha.length;++i){
  15. ha[i](true,res.data);
  16. }
  17. }else{
  18. for(var i = 0 ;i < ha.length;++i){
  19. ha[i](false);
  20. }
  21. }
  22. },
  23. error:function(dfd){
  24. ha[i](false);
  25. }
  26. })
  27. },
  28. "company":function(id){
  29. jQuery.ajax({
  30. url:"/ajax/org/"+id,
  31. type:"GET",
  32. success:function(res){
  33. var ha = objHCache.company[id];//jilu
  34. delete objHCache.company[id];
  35. if(res.success){
  36. objCache.company[id]=res.data;
  37. for(var i = 0 ;i < ha.length;++i){
  38. ha[i](true,res.data);
  39. }
  40. }else{
  41. for(var i = 0 ;i < ha.length;++i){
  42. ha[i](false);
  43. }
  44. }
  45. },
  46. error:function(dfd){
  47. ha[i](false);
  48. }
  49. });
  50. }
  51. };
  52. var cacheModel={
  53. getProfessor:function(id,cb){
  54. var val =objCache.professor[id]
  55. if(val){
  56. cb(true,val);
  57. }else{
  58. if(objHCache.professor[id]){
  59. objHCache.professor[id].push(cb);
  60. }else{
  61. objHCache.professor[id]=[];
  62. objHCache.professor[id].push(cb);
  63. objCacheHandler.professor(id);
  64. }
  65. }
  66. },
  67. getCompany:function(id,cb){
  68. var val =objCache.company[id]
  69. if(val){
  70. cb(true,val);
  71. }else{
  72. if(objHCache.company[id]){
  73. objHCache.company[id].push(cb);
  74. }else{
  75. objHCache.company[id]=[];
  76. objHCache.company[id].push(cb);
  77. objCacheHandler.company(id);
  78. }
  79. }
  80. }
  81. };
  82. window.cacheModel = cacheModel;
  83. })(window)