у меня есть база данных в реальном времени из firebase с 9386 наборами данных (но это может измениться в будущем)
Вот почему я хочу знать, что такое «ключ» последнего события.
вот как я сейчас пытаюсь это узнать: (с модулем npm qwest)
let order = "\u0022\u0024key\u0022";
let dbUrl = "https://example.firebaseio.com/users.json?limitToLast=1&orderBy = ";
let end;
qwest.get(dbUrl + order)
.then(function(xhr, response) {
console.info(response);
end = response[9386]["username"];
console.info(end);
});
первый вопрос: почему я должен избегать кавычек и знака доллара?
второй вопрос: как я могу получить «ключ» последнего элемента, который я проверяю в json (limitToLast = 1).
json-ответ выглядит так:
{"9386":
{
"fromListA":"1",
"fromListB":"0",
"id":"9939",
"lastChecked":"2019-05-09 03:18:05",
"userid":"123456789",
"username":"username"
}
}
и я хочу получить "9386" в переменной.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Поскольку вы решили использовать " для ограничения строки dbUrl, вы не можете использовать " внутри значения этой строки, не экранируя его. Более простой способ определить строку — использовать ' для ее разделения:
let dbUrl = 'https://example.firebaseio.com/users.json?limitToLast=1&orderBy = "$key"';
Чтобы получить ключ объекта, используйте что-то вроде:
Object.keys(response)[0]
var response = {"9386":
{
"fromListA":"1",
"fromListB":"0",
"id":"9939",
"lastChecked":"2019-05-09 03:18:05",
"userid":"123456789",
"username":"username"
}
}
console.info(Object.keys(response)[0]);А, у меня там опечатка. Это должно быть $key в вызовах REST API.
да это не проблема. проблема в том, что он по-прежнему выдает Bad Request, потому что он не экранирует %22... я снова отредактировал, и теперь он работает... не знаю, что я изменил.
по-прежнему не работает, если orderBy идет сразу после вопросительного знака. получил эту разметку сейчас: let db = 'https://checkblock.firebaseio.com/users.json?orderBy = "$key"'; и я снова получаю ошибку неправильного запроса, если я пытаюсь добавить что-нибудь к нему через параметры
если я сделаю то, что вы сказали в 1. я получаю эту ошибку: /users.json?limitToLast=1&orderBy=%22.key%22 400 (неверный запрос) 2. работает нормально! Большое спасибо!