I have written some code to call a procedure,it's OUT parameter type is cursor(ResultSet),so i have to fetch data from ResultSet,for that i've written one function(fetchRowsFromRS()) which extract data from ResultSet.
- I've used return statement in fetchRowsFromRS(),but not returning anything, getting undefined.
- When i called fetchRowsFromRS(),control is not pausing execution of next lines of code(i'have used Async/await) this is required because i want use extracted data in next lines.
What is the mistake in my code?
db.js
    connection.execute(plsql,bindvars,options,async function (err, result) {
          if (err) {
            console.log(err);
            console.error(err.message);
            doRelease(connection);
            return;
          }
      if(result.outBinds.OUT_STATUS=='SUCCESS'){
        if(result.outBinds.OUT_MENU_NAME.metaData.length=0){
        loginRes.getUserLoginServiceRes.Header.Status=aes.encryption('Failure');
        loginRes.getUserLoginServiceRes.Header.Status_Desc=aes.encryption('No record found in database');
       }else{
   loginRes.getUserLoginServiceRes.Header.Status=aes.encryption('Success');
   loginRes.getUserLoginServiceRes.Header.Status_Desc=aes.encryption('User 
       logged in successfully');
       var numRows=20;
       //calling function to fetch data from ResultSet
       var rsData=await fetchRowsFromRS(connection,result.outBinds.OUT_MENU_NAME,numRows)
    console.log('----------'+rsData);//giving undefined
    //here i want to use ResultSet Data
        }
      }
  })
function to extract data from ResultSet(not returning anything)
function fetchRowsFromRS(connection, resultSet, numRows) {
     resultSet.getRows(numRows,function (err, rows) {
          if (err) {
            console.error(err);
            doClose(connection, resultSet);   // always close the ResultSet
          } else if (rows.length > 0) {
          console.log("fetchRowsFromRS(): Got " + rows.length + " rows");
          console.log(rows); //getting data here
          if (rows.length === numRows)      // might be more rows
            fetchRowsFromRS(connection, resultSet, numRows);
          else
            doClose(connection, resultSet); // always close the ResultSet
        } else { // no rows
          doClose(connection, resultSet);   // always close the ResultSet
        }
        return rows;
      });
  }
 
     
    