Возможно ли это вообще?
Я видел, что этот вопрос довольно часто поднимается здесь, но не похоже, чтобы кому-то дали вполне тот ответ, который я ищу. Предположим, у вас есть следующий код, который должен получить объект Firebase из вашей базы данных и вернуть значение:
function get(target){
return database.ref(target).once("value",function(snapshot){
//console.log(snapshot.val());
return snapshot.val();
});
}
В моем случае ожидается возвращение объекта, а именно {"hello":"world"}
. Тем не менее, мой результат всегда Promise {<pending>}
. Я немного повозился с этим, и единственные другие результаты, которые я собирался получить, это undefined
и Promise {<resolved> {"hello":"world"}}
. Последнее было почти тем, что я хотел, но все же не совсем.
Как настроить функцию get()
так, чтобы она возвращала фактическое значение snapshot.val()
, а не обещание. Например:
let response = get("/foo");
console.log(response["hello"]);
Результат должен быть world
.