テーブルの最大IDが必要です。この値にアクセスして別のテーブルに挿入したいのですが、コールバック関数の外部にアクセスできません。ブロック外でこの値にアクセスするにはどうすればよいですか?Node.jsの変数にtableのmax idの値を代入する方法
SequelizeとNode.jsを使用しています。私のコードは次のとおりです。
var employeeCode = 'EMP1';
var employeeCodeObj = Employee.max('id').then(function(max) {
var maxid = max + 1;
employeeCode = "EMP" + maxid;
console.log(employeeCode);
}).catch(err => {
res.send({
msg: 'Unable to generate employee code!',
status: 'Failure',
response: 500,
data: []
});
});
console.log(employeeCode);
表に1つの行を持っているが、私は、この値を印刷するとき、結果がEMP2
あるべきとき、それは常にEMP1
を印刷します。
実行フローがコードの一部をキャッチしていないことを確認してください。 – ramasCoder
はい、私は最大値を印刷するときはthen()で2を印刷し、外側では1を出力します。 –