起重和全局变量

时间:2019-03-11 20:46:34

标签: javascript global-variables pouchdb

如何从此PouchDB文档中分配变量“ 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) {
		var username_show=doc.username; 
		
     	    });
	
  }

  loadSettings();
  alert("The Username="+username_show);

1 个答案:

答案 0 :(得分:0)

您的警报会在username_show未定义的情况下运行,因为它是根据promise异步分配的。

在您的loadSettings函数中,在引用全局username_show变量时避免使用var关键字。

要在分配后查看变量,可以在promise中调用一个函数。

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();