私は何が起こるかを見るためにいくつかのBASICテストを書くことによってコールバックを理解しようとしています。私はこれを実行するためにモカを使用しています。私は明らかにコールバックを初めて使う人ですが、なぜこれが機能しないのか分かりません。ノード/ jsのREALLY基本コールバック
import fs from 'fs';
describe('named callbacks', function() {
it('runs something using callbacks', function() {
function runTest() {
return fs.readFile('test.txt', onReadFile);
function onReadFile(err, data) {
if (err) {
console.log('error reading file', err);
return err;
}
fs.writeFile('testoutfile.txt', data, onWriteFile);
}
function onWriteFile(err, data) {
if (err) {
console.log('write error', err);
return err;
}
console.log('file written!', data);
}
}
runTest();
});
});
テスト実行、それは出力ファイルを作成しますが、何もそれに書き込まれません取得し、エラーがログに記録されません。
私はプログラムを上から下に書くのに慣れていますが、このコールバックは私のようなものを混乱させます。私はここにすべてのコールバックを命名しているので、私はそのロジックに従おうとすることができます。私は本当にこれがうまくいかない理由を理解したいと思います。
テストフレームワークを同時に処理することなくコールバックを理解することをお勧めしますか? – Brad
テスト自体はコールバックを待っていません。 – SLaks
「hello world」と書かれているtest.txtの内容。 – Coco