#javascript #global-variables #pouchdb
#javascript #глобальные переменные #pouchdb
Вопрос:
Как я могу присвоить значение переменной «username_show» из этого документа PouchDB? Я пробовал технику подъема, но я думаю, что мне нужно вывести глобальную переменную из структуры данных, а затем из функции.
var db = new PouchDB('myDb');
var remoteCouch = false;
var username_show;
function loadSettings(){
var settings = {
_id: "UNa",
username : ""
}
db.get('UNa').then(function (doc) {
var username_show=doc.username;
});
}
loadSettings();
alert("The Username=" username_show);
Комментарии:
1. Во-первых, вы никогда не должны использовать глобальные переменные.
Ответ №1:
Ваше предупреждение выполняется, пока username_show
не определено, поскольку оно назначается асинхронно в результате выполнения обещания.
В вашей функции loadSettings избегайте использования ключевого слова var при ссылке на вашу глобальную username_show
переменную.
Чтобы просмотреть переменную после присвоения, вы можете вызвать функцию в своем обещании.
var db = new PouchDB('myDb');
var remoteCouch = false;
var username_show;
function loadSettings(){
var settings = {
_id: "UNa",
username : ""
}
db.get('UNa').then(function (doc) {
username_show=doc.username;
showUsername();
});
}
function showUsername() {
alert("The Username=" username_show);
}
loadSettings();