备忘录模式

Posted ttblog5

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了备忘录模式相关的知识,希望对你有一定的参考价值。

https://blog.csdn.net/KlausLily/article/details/103046377

const baseOperateController = function() {
    // 缓存对象
    const cache = {};
    // 基础函数
    return function(params, fn, cb) {
        // 判断是否在缓存下
        if(cache[params]) {
            // 从缓存中读取并传递给业务函数
            fn(cache[params])
        }else {
            // 没有缓存则将控制权转移给外部回调函数,并传递相应参数
            cb && cb(params).then((res => {
                cache[params] = res.data;
            })).catch(err => console.log(err))
        }
    }
}

// 使用
baseOperateController(params, showView, asyncFn)

 

以上是关于备忘录模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式备忘录模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

(十三)备忘录模式-代码实现

19-备忘录(Memento)模式Ruby实现

设计模式----备忘录模式

设计模式14:备忘录模式

设计模式之备忘录模式