私は非同期プログラミングを初めて使用しています。最近、私は本当に理解していないケースを見つけました。この例では:readFileの外部スコープ変数にアクセス
var username = "abc";
fs.readFile(filePath, { encoding: 'utf-8' }, function (err, oldUsername) {
console.log(username); // Print xyz
if (username == oldUsername)
// do something, since username is now 'xyz', result failed!
});
username = "xyz";
私は名(ABC)が、結果は失敗したように、コンソール印刷「XYZ」に、ファイルに入った旧ユーザを比較したいです。
にはどうすればユーザ名の無修正値を得るのですか?
コールバック内のユーザー名を変更するのはあなたの孤独な選択のようです。または、あなたの値を保持するtmp変数を作成してください – mfrachet
@Skahrzこれは私に30分詰まってしまったので、あなたは私のためにそれを指摘しました。私はちょうどコールバック内のユーザー名を変更したいと思います。より良い選択肢はないようです。 – NewJedi