マップ関数の各パラメーターを検証関数に渡そうとしていますが、検証関数内の変数はマップ関数の最後の値を提供します
result = jsonData.map(async (id, index) => {
customerInfo = getInfos(id, index);
console.log("map " + customerInfo.id);
return validate("customerSchema", id).then(errors => {
console.log("validate " + customerInfo.id);
if (errors.length > 0) {
throw new HttpException(
{
status: HttpStatus.FORBIDDEN,
error: errors[0].constraints
},
403
);
}
});
});
期待される出力:
map 1
validate 1
map 2
validate 2
実際の出力:
map 1
map 2
validate 2
validate 2
検証が2番目のIDを2回取得するのはなぜですか?