吊装和全局变量

问题描述 投票:0回答:1

如何从此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);
javascript global-variables pouchdb
1个回答
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();
© www.soinside.com 2019 - 2024. All rights reserved.