M
M
Mazino2019-03-05 13:43:23
JavaScript
Mazino, 2019-03-05 13:43:23

How to extract data from object function with cyclic call?

I'm trying to write a node.js script that will bypass a number of devices via the snmp protocol
using the net-snmp library for this.

var snmp = require('net-snmp');
var sessions; //Объект содержащий объекты созданных snmp сессий через которые будут совершаться запросы
async function getTypes(sessions) {//Устройства есть 2х видов нужно, обойти их, чтобы узнать их тип и что делать дальше
    sessions.forEach(session => {
        session.get([oid], (err,res) => { 
             if(err) throw new Error(err);
             //Какой-то код
        });
    });
}

I have already tried a bunch of things, but I still don’t understand how I can collect and transfer data so that
(async () => {
    let type = await getTypes(sessions);//Сюда попал массив с результатами
})();

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Alexey Laud, 2019-03-05
@Mazino

function getSession(session, oid) {
  return new Promise((resolve) => {
    session.get([oid], (err,res) => { 
             if(err) throw new Error(err);
             //Какой-то код
             resolve(/* Результат для сессии */)
        });
  })
}

async function getTypes(sessions) {//Устройства есть 2х видов нужно, обойти их, чтобы узнать их тип и что делать дальше
    const results = [];
    for (session of sessions) { // Избавляемся от функции
    	results.push(await getSession(session, oid));
    }
}

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question