「いまどきのJSプログラマーのためのNode.jsとReactアプリケーション」のサンプルコードのバグ。その2
「いまどきのJSプログラマーのためのNode.jsとReactアプリケーション」のサンプルコードを動かそうと思ったら動かなかった所があったのでメモ。その2。
「6章 03 機械学習で手書き文字を判定しよう」のコード、
「1-download.js」を実行すると、ファイルをダウンロードし終わるタイミングでエラーになってしまう事があるもよう。
↓以下の部分。
// ファイルのダウンロードを行う関数を定義 --- (※3)
function downloadPromise (url, savepath) {
return new Promise*1 return resolve()
const outfile = fs.createWriteStream(savepath)http.get(url, (res) => {
res.pipe(outfile)
res.on('end', () => {outfile.close() → ここをoutfile.end() にすると良いらしい。
resolve()
})
})
.on('error', (err) => reject(err))
})
}
ファイルへの書き込みが終わらないうちにclose()を呼び出すとエラーになるようです。