javascript - 将值传递给承诺中的另一个变量不起作用
问题描述
我在我的应用程序中有一个使用Vue.js和Firebase的组件,在created()
生命周期中,我得到了一个保存在 LocalStorage 中的idget()
,用于对我的firestore数据库中的数据作出承诺。id的 get() 数据过滤器工作正常,但在 promise 中我想将我得到的值传递给另一个变量,但是值NAN
在某些字段中会发生变化,你可以在下面的两个 console.log() 中看到。我只想doc.data.bdCalculo
在变量中保持相同的值self.bdCalculo
(需要使用self
,因为this
它不起作用):
created: function(){
// get the id in localstorage
let id_di = localStorage.getItem('id_di');
let self = this
var docRef = db.collection("dis").doc(id_di);
docRef.get().then(function(doc) {
if (doc.exists) {
var diFinal = doc.data();
console.log("Data that comes from Firestore:", doc.data().bdCalculo);
// The data in firestore comes with some arrays called Step1, Step2, Step3, Step4 and bdCalculo
self.step1 = diFinal.Step1;
self.step2 = diFinal.Step2;
self.step3 = diFinal.Step3;
self.step4 = diFinal.Step4;
self.bdCalculo = diFinal.bdCalculo;
console.log("Data after pass the value to self.bdCalculo", self.bdCalculo);
// pass the valeu of self.bdCalculo to a method in vue.js
self.calcCustoFob(self.bdCalculo);
} else {
console.log("No such document!");
}
}).catch(function(error) {
console.log("Error getting document:", error);
});
},
第一个 数据console.log
是:
解决方案
推荐阅读
- android - 如何将当前位置添加到我的地图活动中?
- java - Java ArchUnit:检测 getMethodCallsFromSelf 方法上的注释
- dart - 引发了另一个异常:FormatException: Invalid character (at character 6)
- php - 如何从数组中删除 nbsp 元素
- reactjs - 将 React 应用程序的生产版本部署到 Google App Engine:Service Worker 注册失败
- python - 将 PyCall PyObject 十进制转换为 Julia 浮点数
- hyperledger-fabric - Hyperledger Fabric 1.4:如何发出和订阅事件?
- android - 通过蓝牙发送文件到配对设备
- android - FFmpeg 无法将帧注入过滤器网络:内存不足
- php - 使用 LexikJWTAuthenticationBundle 时 JSON 消息无效