0

アクティブなユーザーを見つけるのに役立つ getActiveUsers という名前の関数があります

const getActiveUsers = async (req, res) => {
let results = [];

const rewards = await Reward.find().distinct('data');

await rewards.map(async (reward) => {
    const result = await Callback.findOne({
        data: reward,
    });
    results.push(result);
});

return res
    .status(400)
    .json({ success: true, count: results.length, data: results })};

まず、reward コレクションからデータを取得します。これにより、rewards 配列に 100 レコードが返されます。すべての結果を待った後、取得した配列 (報酬) を 1 つずつ調べて、Callback という別のコレクションからデータを取得します。そして、このデータはresultsという別の配列に1つずつプッシュされます。残念ながら、私のコードは map 関数を待ちません。応答を空の配列 (results) として送信します。その後、マップを実行し、要素を結果配列にプッシュします。async/await のみを使用して、これを修正してください。それが不可能な場合は、最善の解決策を教えてください。

4

0 に答える 0