Deno v1.3.0にFileReader APIが追加された
Deno v1.2.3まではBlobやFileといったAPIが用意されていたのだが、如何せんFileReaderが実装されていなかったため用途が限られていた。
しかしながら、先日リリースされたv1.3.0にめでたくFileReaderが実装されたとのことで、早速試してみた。
まずはDenoをv1.3.0にアップグレードする前に、ハンギングレッグレイズをして腹筋を追い込んでおく。これはDenoの公式ドキュメントには書かれていない必須作業である。
腹筋を追い込んだら、Denoをv1.3.0にアップグレードする。
deno upgrade --version 1.3.0
filereader.tsを作成し、以下のように記述。
fileReaderLoadBlob();
fileReaderLoadFile();
async function fileReaderLoadBlob(): Promise<void> {
await new Promise<void>((resolve) => {
const fr = new FileReader();
const b1 = new Blob(["Hello Blob"]);
fr.onloadend = (ev): void => {
console.log(fr.result);
resolve();
};
fr.readAsText(b1);
});
}
async function fileReaderLoadFile(): Promise<void> {
await new Promise<void>((resolve) => {
const fr = new FileReader();
const f1 = new File(["Hello File"], "temp.txt")
fr.onloadend = (ev): void => {
console.log(fr.result);
resolve();
};
fr.readAsText(f1);
});
}
早速実行してみる。
deno run filereader.ts
実行結果
Hello Blob
Hello File
おお!ついに読み込みに成功した。これでファイルの操作が格段に向上する、かもしれない。
実態としてはこちらのcommitが参考になるだろう。
まだまだNodejsには機能面で劣る部分があるが、簡単なアプリであれば、すでにDenoで十分機能を満たすことができるかもしれない。
数か月後には、ファーストチョイスに挙がってくる可能性を秘めているプラットフォームなだけに、今後も注視していく。
現場からは以上です。
この記事が気に入ったらサポートをしてみませんか?