Подъемные и глобальные переменные - PullRequest
0 голосов
/ 11 марта 2019

Как я могу присвоить значение переменной "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 Ответ

0 голосов
/ 11 марта 2019

Ваше оповещение запускается, пока 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();
...