cachepaging
v1.3.0
Published
主にclientのlinter/linter.jsで使うためのツール。 **NPMで公開しているため関連のコードは含めないこと**。
Readme
cachepaging
主にclientのlinter/linter.jsで使うためのツール。 NPMで公開しているため関連のコードは含めないこと。
目的
大量のテキストに対して、非同期かつ一定数のチャンクにまとめて処理を呼びだしつつ、結果をキャッシュする処理です。
使い方
CacheCaller にAPI呼びだしなどをする関数を渡します。各テキストに対する結果を返すことでそれらをキャッシュします。
import CacheCaller from 'cachepaging'
const caller = new CacheCaller(async (texts) => { return texts.map((t) => t.length )})
for await (const results of caller.call(['Hello', 'my', 'name', 'is', 'kiyo'])) {
for (const result of results) {
console.log(results.keyText) // Hello
console.log(results.data) // 4
}
}デフォルトで20個ずつ、100msの猶予を置きつつ呼びだします。 20個ずつバックエンドに問い合わせして、各テキストに対応する結果をリストで返すとそれぞれのテキストの結果としてキャッシュされます。
