从块中引入变量值以在全局范围内使用-JAVASCRIPT(在FIRESTORE中)
我正在Firebase中创建一个应用程序,使用FireStore作为我的数据库 在下面的代码中,我创建了一个变量从块中引入变量值以在全局范围内使用-JAVASCRIPT(在FIRESTORE中),javascript,google-cloud-firestore,scope,google-cloud-functions,global-variables,Javascript,Google Cloud Firestore,Scope,Google Cloud Functions,Global Variables,我正在Firebase中创建一个应用程序,使用FireStore作为我的数据库 在下面的代码中,我创建了一个变量order,并将其赋值为1 然后,我将该值更新到数字4和控制台。记录它以进行检查。结果很好 但当我在函数后记录变量以进行交叉检查时,它再次返回1,而不是更新后的值(即4) 我想在全局中使用从数据库中获得的值 名称空间。(只需在我的JS代码中使用此函数即可。) 这是我的代码(请参见//注释) console.log(“值启动:“+订单”);//日志“值已启动:1” //从FireStor
order
,并将其赋值为1
然后,我将该值更新到数字4和控制台。记录它以进行检查。结果很好
但当我在函数后记录变量以进行交叉检查时,它再次返回1,而不是更新后的值(即4)
我想在全局中使用从数据库中获得的值
名称空间。(只需在我的JS代码中使用此函数即可。)
这是我的代码(请参见//注释)
console.log(“值启动:“+订单”);//日志“值已启动:1”
//从FireStore数据库获取另一个值并将其分配给变量的函数。
函数getField(){
db.集合(“索引”)
.doc(“artNum”)
.get()
.然后(功能(文档){
order=doc.data().artNum;//我在这里将变量重新分配给“4”。
console.log(“分配的值:”+顺序);//日志“分配的值:4”
})
.catch(错误=>{
控制台日志(err);
});
}
getField();
console.log(“更新值:+顺序);//(交叉检查)记录“更新值:1”,但应等于4
我进入JS只有一个月的时间,我是一个初学者。我认为和尝试过的一些解决方案是
直接在函数外使用order
变量,就像我在上面所做的那样,它不起作用
将order
的值分配给全局命名空间中的新变量,这也不起作用
我想在全局命名空间之外使用此值。
请帮助我,我做错了什么,或者这段代码遗漏了什么
简言之,不要。将所有依赖于异步信息的功能放在中。然后
取而代之(例如,调用处理结果的函数)。基本上,我想在代码外部使用顺序
变量。此外,我将再次使用此变量来命名Firestore数据库中的其他文档。简单地说,我有必要在脚本中将此值作为一个简单的var
变量@当然你做不到,至少在任何方面都不行。请参阅链接问题。