Как заставить функцию, которая используется внутри цикла, работать синхронно?

#node.js

#node.js

Вопрос:

Я пытаюсь вызвать функцию onScan2, которая находится внутри функции onScan, но функция onScan2 обрабатывается в последнюю очередь. Итак, как я могу заставить свой код работать синхронно, поэтому, когда он попадает внутрь onScan , сначала он полностью обрабатывает onScan2, а затем продолжает обработку функции onScan.

 function onScan(err,data){

                if(err){
                    console.log("Unable to scan");

                }
                else{
                    let ps=[];
                    data.Items.forEach(function(data) {
                        ps.push(data);
                    });
                    if(ps.length==0)
                    {
                        console.log("unable to add in ps");
                    }
                    else
                    {


                       for(var i=0, len=ps.length;i<len; i  ){
                            let routForm= ps[i].a "-" ps[i].b;


                           var c={
                                TableName : q,
                                FilterExpression: "#xe=:xe",
                                ExpressionAttributeNames: { '#xe': 'xe'  },
                                ExpressionAttributeValues: {':xe': routForm }
                            };

                            var data2=documentClient.scan(c,onScan2);

                            ps[i]dq= dq;

                        }
                    }
                }
            }
            function onScan2(err,data){
                                    if(err)                                       

                                    else{

                                    return data;
                                    }
                            }
 

Комментарии:

1. могут помочь обещания или async / await

2. я знаю об использовании promises или async / await , но не могу реализовать его или то же самое. Можете ли вы мне помочь с этим?