Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.11.2014, 12:38
Новичок на форуме
Отправить личное сообщение для vnn198 Посмотреть профиль Найти все сообщения от vnn198
 
Регистрация: 14.11.2014
Сообщений: 2

ф-ция возвращает undefined
Сильно не пинайте, я только начинаю изучать node , вот немогу понять что я делаю не так

function GetOIDDif (oid1, oid2 , host) {
var session = new snmp.Session({ host: host, 'public': 'public' });;
var oids = [oid1, oid2];
var ret_val = session.getAll({ oids: oids }, function (err, varbinds) {
    session.close();
	var MKit = varbinds[1].value * 100 / varbinds[0].value;
	console.log(MKit.toFixed(0));
	return MKit;
});
return ret_val;
}


как бы я не пытался сделать return. всё время возвращает undefined, ну за исключением если объявить значение в теле ф-ции , тогда конечно возвращает то что объявил

Последний раз редактировалось vnn198, 14.11.2014 в 13:50.
Ответить с цитированием
  #2 (permalink)  
Старый 14.11.2014, 12:48
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от vnn198
как бы я не пытался сделать return
Так ты делаешь его не в getAll, а в своей анонимной функции. Но результат почему-то ждешь от getAll . От битья головой об стену эффекта и то больше будет, чем от этого)

getAll наверняка асинхронная функция.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 14.11.2014, 13:47
Новичок на форуме
Отправить личное сообщение для vnn198 Посмотреть профиль Найти все сообщения от vnn198
 
Регистрация: 14.11.2014
Сообщений: 2

Сообщение от danik.js
Так ты делаешь его не в getAll
Я его и в getAll делал , если оттуда сделать console.log то данные видны, а если return то undefined
Ответить с цитированием
  #4 (permalink)  
Старый 14.11.2014, 13:55
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

vnn198,
тебе правиьно выше сказали. getAll по-любому вернет undefined. Все что она делает -- ставит что то в очередь. На момент выхода из нее, она ничего не вернет. Твой колбэк, брошен в очередь событий, когда он отработает, он что-то вернет куда-то.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После добавления localstorage в backbone модель, POST запрос ничего не возвращает aphex Общие вопросы Javascript 0 03.12.2013 15:26
JavaScript: функция возвращает undefined. Подскажите где я туплю fluffyMan2000 Общие вопросы Javascript 13 14.11.2013 11:21
Чем отличается undefined от null hrundel Общие вопросы Javascript 21 01.01.2011 22:06
Почему match() возвращает значение undefined yolka Events/DOM/Window 2 24.04.2010 15:09