Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Почему в консоль выводит [Object][Object]? (https://javascript.ru/forum/node-js-io-js/62231-pochemu-v-konsol-vyvodit-%5Bobject%5D%5Bobject%5D.html)

ratatyq 31.03.2016 18:38

Почему в консоль выводит [Object][Object]?
 
Здравствуйте, привел такой код в исполнение:
var mqtt    = require('C:/Program Files/nodejs/node_modules/mqtt');
var client  = mqtt.connect('mqtt://192.168.1.20:1883', { clientId: 'mqtt_userOpenHabDesigner' });
 
client.on('connect', function () {
    var subscribingLamp = client.subscribe('/KuhLamp_102/gpio/output13');
    console.log('Lamp state is:' + subscribingLamp);
});

и в консоль должно выводит значение(либо 1, либо 0). Но в консоли выводится следующее: Lamp state is:[object Object]
В чем может быть ошибка?

Safort 31.03.2016 23:06

ratatyq,
нет, этот метод асинхронный и возвращает он this.
Посмотри доку, там он аргументом callback принимает, вот в нём и будет результат подписки
https://www.npmjs.com/package/mqtt#m...tions-callback

noomnau 15.04.2016 11:45

Например, если возвращать в консоль объект А, всё будет в порядке, преобразованный к строке при помощи А.String() или ""+А вернётся уже объект в виде object Object.

Цитата:

topic is a String topic to subscribe to or an Array of topics to subscribe to. It can also be an object, it has as object keys the topic name and as value the QoS, like {'test1': 0, 'test2': 1}.
ratatyq,
Возможно сработает JSON.stringify(subscribingLamp );


Часовой пояс GMT +3, время: 19:40.