国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【每日一包0019】mem

Ku_Andrew / 3343人閱讀

摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式,

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

mem
用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化
普通用法 (支持基于promise的異步函數調用)
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
})();
第二參數用法

用法:mem(Function, options|object)

maxAge:設置緩存時長,默認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:默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數(也就是只要第一個參數相同,就采用緩存值)

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:設置緩存方式,默認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的返回,默認為false

mem.clear(fn):清除某個函數的緩存數據

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/114310.html

相關文章

  • 每日一包0019mem

    摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調用結果來加速連續函數調...

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

    摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調用結果來加速連續函數調...

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

    摘要:問題中如何將在十進制和二八十六進制之間互相轉換解決方案十進制向二八十六進制轉換分別使用這樣轉換會有一個前綴,如果不想要前綴只想要數值的話,可以使用二八十六進制向十進制轉換直接使用即可,因為的原型是,所以我們只需要指定就行了討論如果只是需要在 問題 Python中如何將int在十進制和二、八、十六進制之間互相轉換 解決方案 十進制向二、八、十六進制轉換 分別使用bin、oct、hex >...

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

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

    kun_jian 評論0 收藏0

發表評論

0條評論

Ku_Andrew

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<