摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時長,默認默認所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個參數(shù)也就是只要第一個參數(shù)相同,就采用緩存值設(shè)置緩存方式,
[github地址:https://github.com/ABCDdouyae...]
mem用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化
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:設(shè)置緩存時長,默認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:默認所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個參數(shù)(也就是只要第一個參數(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è)置緩存方式,默認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):清除某個函數(shù)的緩存數(shù)據(jù)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/114310.html
摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時長,默認默認所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個參數(shù)也就是只要第一個參數(shù)相同,就采用緩存值設(shè)置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)...
摘要:地址用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)用的優(yōu)化普通用法支持基于的異步函數(shù)調(diào)用第二參數(shù)用法用法設(shè)置緩存時長,默認默認所有參數(shù)相同才啟用緩存數(shù)據(jù),但你也可以設(shè)置只緩存第一個參數(shù)也就是只要第一個參數(shù)相同,就采用緩存值設(shè)置緩存方式, [github地址:https://github.com/ABCDdouyae...] mem 用于通過緩存具有相同輸入的調(diào)用結(jié)果來加速連續(xù)函數(shù)調(diào)...
摘要:問題中如何將在十進制和二八十六進制之間互相轉(zhuǎn)換解決方案十進制向二八十六進制轉(zhuǎn)換分別使用這樣轉(zhuǎn)換會有一個前綴,如果不想要前綴只想要數(shù)值的話,可以使用二八十六進制向十進制轉(zhuǎn)換直接使用即可,因為的原型是,所以我們只需要指定就行了討論如果只是需要在 問題 Python中如何將int在十進制和二、八、十六進制之間互相轉(zhuǎn)換 解決方案 十進制向二、八、十六進制轉(zhuǎn)換 分別使用bin、oct、hex >...
摘要:地址源碼依賴一個對象的屬性繼承另一個對象的屬性及其屬性描述符用法繼承者,被繼承者是否繼承者有該屬性的時候繼承默認不繼承返回繼承后的新的對象當(dāng)?shù)谌齻€參數(shù)為時候,原對象又該屬性則沒有繼承被繼承者的屬性和屬性描述符 [github地址:https://github.com/ABCDdouyae...] merge-descriptors (express源碼依賴) 一個對象的屬性繼承另一個對...
閱讀 3152·2021-09-28 09:36
閱讀 3692·2021-09-08 09:45
閱讀 1807·2021-09-01 10:43
閱讀 3481·2019-08-30 12:44
閱讀 3350·2019-08-29 17:25
閱讀 1376·2019-08-29 11:03
閱讀 1997·2019-08-26 13:36
閱讀 698·2019-08-23 18:24