Я пишу расширение для оболочки gnome. Расширение javascript порождает SQL-запрос и записывает вывод на стандартный вывод. В случаях, когда запрос sql оценивается в 0 кортежей / записей, мое расширение падает.
Ниже приведен фрагмент кода.
let [success, out, err, error] = GLib.spawn_sync(null, ["sqlite3", "-line", places, sqlQuery], null, 4, null);
let result = out.toString(); // Crashing here for 0 tuples. I was expecting 'result = ""'
Я новичок в JavaScript. Я не понимаю, как объект out
должен быть обработан в этом сценарии. Объект не является нулевым; и при этом это не определено.
typeof out == null // false
typeof out == undefined // false
typeof out == "object" // true
EDIT
typeof out == "null" // false
typeof out == "undefined" // false
typeof out == "object" // true