摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式,
[github地址:https://github.com/ABCDdouyae...]
mem用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化
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
摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調用結果來加速連續函數調...
摘要:地址用于通過緩存具有相同輸入的調用結果來加速連續函數調用的優化普通用法支持基于的異步函數調用第二參數用法用法設置緩存時長,默認默認所有參數相同才啟用緩存數據,但你也可以設置只緩存第一個參數也就是只要第一個參數相同,就采用緩存值設置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調用結果來加速連續函數調...
摘要:問題中如何將在十進制和二八十六進制之間互相轉換解決方案十進制向二八十六進制轉換分別使用這樣轉換會有一個前綴,如果不想要前綴只想要數值的話,可以使用二八十六進制向十進制轉換直接使用即可,因為的原型是,所以我們只需要指定就行了討論如果只是需要在 問題 Python中如何將int在十進制和二、八、十六進制之間互相轉換 解決方案 十進制向二、八、十六進制轉換 分別使用bin、oct、hex >...
摘要:地址源碼依賴一個對象的屬性繼承另一個對象的屬性及其屬性描述符用法繼承者,被繼承者是否繼承者有該屬性的時候繼承默認不繼承返回繼承后的新的對象當第三個參數為時候,原對象又該屬性則沒有繼承被繼承者的屬性和屬性描述符 [github地址:https://github.com/ABCDdouyae...] merge-descriptors (express源碼依賴) 一個對象的屬性繼承另一個對...
閱讀 3140·2021-09-28 09:36
閱讀 3685·2021-09-08 09:45
閱讀 1793·2021-09-01 10:43
閱讀 3470·2019-08-30 12:44
閱讀 3344·2019-08-29 17:25
閱讀 1369·2019-08-29 11:03
閱讀 1991·2019-08-26 13:36
閱讀 693·2019-08-23 18:24