美文网首页
构造前端缓存

构造前端缓存

作者: 仁安天下 | 来源:发表于2019-11-28 20:08 被阅读0次

问题:
在打开模态框时,请求数据,如果数据量很大,需要等很久,而且模态框仅仅是页面上的某一个功能,需要频繁操作,这样就带来很差的体验和糟糕的等待
解决思路:
直接在这个页面构造一个缓存容器,这样在反复打开模态框的时候,直接将数据传给模态即可
代码:

  //构造缓存容器
    var cache = {};
    $scope.createCache = function () {
        return function (key, value) {
            if (value !== undefined) { //设置缓存
                cache[key] = value;
                cache["time"] = Date.parse(new Date());  //每次设置当前的缓存时间
                return cache[key]
            }
            else {
                return cache[key]; //读取缓存
            }

        }
    };

    $scope.get_user = function (key) {
        var userCahce = $scope.createCache();

        function userDate(key) {

            if (userCahce(key) != undefined && ((Date.parse(new Date()) - cache["time"]) / (3600 * 1000) < 6)) //如果缓存中有值且时间不超过6小时
            {
                return userCahce(key)
            } else {                           //否则从后台更新数据到前端,并设置缓存

                sysService.getUser({}, {}, function (res) {
                    if (res.result) {

                        return userCahce(key, res.data);
                    } else {

                        msgModal.open("error", res.message);
                    }
                });
            }
        }

        return userDate(key)

    };
 $scope.addAccount = function () {

        var modalInstance = $modal.open({
            templateUrl: static_url + 'client/views/addAccount.html',
            windowClass: 'dialogDetail',
            controller: 'addAccount',
            backdrop: 'static',
            resolve: {

                objectItem: function () {
                    var data = $scope.get_user("key");
                    return data;
                }


            },

        });
        modalInstance.result.then(function () {
            $scope.account();


        })

    };

相关文章

  • 构造前端缓存

    问题:在打开模态框时,请求数据,如果数据量很大,需要等很久,而且模态框仅仅是页面上的某一个功能,需要频繁操作,这样...

  • 前端缓存

    前端缓存 提示这里讲的前端缓存是指前端对接口数据的缓存处理,而不是通过 HTTP(s)缓存 前言 通常会在项目中有...

  • 前端缓存

    前端缓存 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务...

  • 解决Android6.0下class自己不能转型成自己的问题(X

    先上总结: 在LayoutInflater中存在view的构造器缓存 Android6.0以下view的构造器缓存...

  • 一文读懂http缓存(超详细)

    前端缓存 前端缓存可分为两大类:http缓存和浏览器缓存。我们今天重点讲的是http缓存,所以关于浏览器缓存大家自...

  • axios cache前端数据缓存

    提示这里讲的前端缓存是指前端对接口数据的缓存处理,而不是通过 HTTP(s)缓存 GITHUB[https://s...

  • 前端缓存接口数据的实现

    前端缓存 API 接口数据,前端怎么知道数据是否变了,该不该取缓存的数据呢。可以采用 HTTP 协商缓存 ETag...

  • 浏览器缓存?优点?清除方法?

    ☆前端优化:浏览器缓存技术介绍 - 简书 浏览器缓存(适用于前端解决缓存问题) - 简书 js清除浏览器缓存问题的...

  • 前端缓存大全

    前端缓存是我们前端开发中, 缓存是不可避免的知识点, 最近在复习缓存的知识, 整理了一下浏览器所有缓存类型, 希望...

  • 常见浏览器无缓存调试设置

    各位前端developer/engineer在做前端页面调试的时候,web缓存无疑是一个比较头疼的问题。使用无缓存...

网友评论

      本文标题:构造前端缓存

      本文链接:https://www.haomeiwen.com/subject/nxliwctx.html