【Node.js】memoizeで手軽にメモ化する
こんにちは、フリーランスエンジニアの太田雅昭です。
初期化処理
API Clientなどの初期化処理は、地味に面倒です。たとえば
let client: Client;
export function getClient(){
if (!client) {
client = new Client();
}
return client;
}
import { getClient } from './client';
getClient().xxx();
こう言うのは、地味に精神が削られていきます。同じようなコードを何度も書くのは、プログラマにとっては苦行です。
memoize
memoizeを使えば、こうした苦行から解放されます。ついでに関数名もスマートにしています。
import memoize from 'memoize';
export const client = memoize(() => new Client());
import { client } from './client';
client().xxx();