1

マップ関数の各パラメーターを検証関数に渡そうとしていますが、検証関数内の変数はマップ関数の最後の値を提供します

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回取得するのはなぜですか?

4

1 に答える 1