Только в конкретном объекте, когда я использую console.log
или печатаю результат util.inspect
, я получаю в результате только число 1
или 2
.
Как мне теперь узнать, что напечатанный объект — это не просто число 1
или 2
? Я использую инспектор отладчика, чтобы увидеть атрибуты и функции, также можно запустить некоторый код для проверки всех элементов объекта, описанных в Node.js console.log(object) печатает пустой объект.
ПРИМЕЧАНИЕ. Я попытался клонировать/скопировать объект, и у меня такое же поведение. Что не так с этим объектом?
Я использую эту библиотеку: https://hexo.io/
Когда я пытался использовать эту функцию: https://hexo.io/api/renderer.html
Пример кода:
hexo.extend.renderer.register('some', 'html', function (data, options, callback) {
console.log("Data");
console.log(data); // It works (object is printed sucessfully)
console.log("Options");
console.log(options); // I got "2" printed.
// something unrelated code to use the callback
}, false);
Как я уже сказал, объект options
имеет несколько разных членов и ведет себя так же/похоже на util.inspect
, даже если я указал глубину и/или другие параметры.
Моя цель - найти, почему это происходит, и как это исправить?
ИЗМЕНИТЬ:
Кроме того, если я попытаюсь сериализовать этот объект в JSON, используя JSON.stringify
, это исключение, которое я получу:
Unhandled rejection TypeError: Converting circular structure to JSON
at Object.stringify (native)
console.log(arguments)
? - person laggingreflex   schedule 04.11.2015function (data_r, options_r, callback_r) {
, затемconsole.log(options_r);
что получилось? - person aswzen   schedule 04.11.2015console.log(typeof options, options, options.prop)
(где prop — известное свойство) напечатает:object 2 propvalue
Верно? Если да, то должен сказать, что это очень странно. - person laggingreflex   schedule 04.11.2015hexo.extend.renderer.register
определен, потому что он должен генерировать этот объектoptions
, чтобы увидеть, что он с ним делает. - person laggingreflex   schedule 04.11.2015console.log(typeof options, options, options.cache)
былobject 2 false
Я считаю, что проблема заключается в какой-то круговой структуре внутри этого объекта. Потребуются некоторые тесты в отдельной среде только сconsole.log
, чтобы увидеть, как он себя ведет. - person J. Lennon   schedule 05.11.2015