@Mazino

Как извлечь данные из функции объекта с цикличным вызовом?

Я пытаюсь написать скрипт на node.js, который будет обходить некоторое количество устройств по snmp протоколу,
используя для этого библиотеку net-snmp.
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);
             //Какой-то код
        });
    });
}

Я уже пробовал кучу всего, но так и не понял, как мне собрать и передать данные, чтобы
(async () => {
    let type = await getTypes(sessions);//Сюда попал массив с результатами
})();
  • Вопрос задан
  • 190 просмотров
Решения вопроса 1
kshshe
@kshshe
Frontend developer
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));
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы