成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

【每日一包0019】mem

Ku_Andrew / 3352人閱讀

摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時(shí)長,默認(rèn)默認(rèn)所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個(gè)參數(shù)也就是只要第一個(gè)參數(shù)相同,就采用緩存值設(shè)置緩存方式,

[github地址:https://github.com/ABCDdouyae...]

mem
用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化
普通用法 (支持基于promise的異步函數(shù)調(diào)用)
const mem = require("mem");

let i = 0;
let a = () => i++;

let mem_a = mem(a);

mem_a();
console.log(i);//1
mem_a();
console.log(i);//1
mem_a(10);
console.log(i);//2
mem_a();
console.log(i);//2
mem_a(11);
console.log(i);//3
let b = async () => j++;
let mem_b = mem(b);

(async ()=> {
  await mem_b();
  console.log(j);//1
  await mem_b();
  console.log(j);//1
  await mem_b(10);
  console.log(j);//2
})();
第二參數(shù)用法

用法:mem(Function, options|object)

maxAge:設(shè)置緩存時(shí)長,默認(rèn)infinity

const mem = require("mem");
const got = require("got");
const delay = require("delay");
 
const memGot = mem(got, {maxAge: 1000});
 
(async () => {
    await memGot("sindresorhus.com");
 
    // This call is cached
    await memGot("sindresorhus.com");
 
    await delay(2000);
 
    // This call is not cached as the cache has expired
    await memGot("sindresorhus.com");
})();

cacheKey:默認(rèn)所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個(gè)參數(shù)(也就是只要第一個(gè)參數(shù)相同,就采用緩存值)

let c = (a, b) => k++;
let mem_c = mem(c);
mem_c(1, 2);
console.log(k);//1
mem_c(1, 3);
console.log(k);//2
mem_c(1, 3);
console.log(k);//2

let d = (a, b) => l++;
let mem_d = mem(d, {cacheKey: x => JSON.stringify(x)});
mem_d(1, 2);
console.log(l);//1
mem_d(1, 3);
console.log(l);//1
mem_d(2, 3);
console.log(l);//2

cache:設(shè)置緩存方式,默認(rèn)new Map(),例如.has(key), .get(key), .set(key, value), .delete(key), and optionally .clear(). You could for example use a WeakMap instead or quick-lru for a LRU cache.

cachePromiseRejection:緩存promise的reject的返回,默認(rèn)為false

mem.clear(fn):清除某個(gè)函數(shù)的緩存數(shù)據(jù)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/114310.html

相關(guān)文章

  • 每日一包0019mem

    摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時(shí)長,默認(rèn)默認(rèn)所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個(gè)參數(shù)也就是只要第一個(gè)參數(shù)相同,就采用緩存值設(shè)置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)...

    yanbingyun1990 評論0 收藏0
  • 每日一包0019mem

    摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時(shí)長,默認(rèn)默認(rèn)所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個(gè)參數(shù)也就是只要第一個(gè)參數(shù)相同,就采用緩存值設(shè)置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)...

    RiverLi 評論0 收藏0
  • Python每日一練0019

    摘要:問題中如何將在十進(jìn)制和二八十六進(jìn)制之間互相轉(zhuǎn)換解決方案十進(jìn)制向二八十六進(jìn)制轉(zhuǎn)換分別使用這樣轉(zhuǎn)換會(huì)有一個(gè)前綴,如果不想要前綴只想要數(shù)值的話,可以使用二八十六進(jìn)制向十進(jìn)制轉(zhuǎn)換直接使用即可,因?yàn)榈脑褪?,所以我們只需要指定就行了討論如果只是需要? 問題 Python中如何將int在十進(jìn)制和二、八、十六進(jìn)制之間互相轉(zhuǎn)換 解決方案 十進(jìn)制向二、八、十六進(jìn)制轉(zhuǎn)換 分別使用bin、oct、hex >...

    robin 評論0 收藏0
  • 每日一包0029】merge-descriptors

    摘要:地址源碼依賴一個(gè)對象的屬性繼承另一個(gè)對象的屬性及其屬性描述符用法繼承者,被繼承者是否繼承者有該屬性的時(shí)候繼承默認(rèn)不繼承返回繼承后的新的對象當(dāng)?shù)谌齻€(gè)參數(shù)為時(shí)候,原對象又該屬性則沒有繼承被繼承者的屬性和屬性描述符 [github地址:https://github.com/ABCDdouyae...] merge-descriptors (express源碼依賴) 一個(gè)對象的屬性繼承另一個(gè)對...

    kun_jian 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<