html - 如何比较来自firebase的两个字符串的总和
问题描述
我正在制作一个计算车辆里程的应用程序,所以我现在正在制作绳索页面,以便用户输入他的维护计划。
我阅读了车辆的里程数和维护计划的里程数,但我收到了这个错误
我无法比较从数据库中读取的两个值的总和(firebase)
图 1:https ://imgur.com/FN3ADDY
图 2:https ://imgur.com/dhSg43N
rappel.service.ts :
constructor(private crudService: RappelService,private cr:VoitureService) { }
ngOnInit() {
this.crudService.read_Rappel().subscribe(data => {
this.cvoiture=localStorage.getItem("idvoiture");
this.rappels = data.map(e => {
return {
id: e.payload.doc.id,
isEdit: false,
text: e.payload.doc.data()['text'],
rappelNom: e.payload.doc.data()['rappelNom'],
rappelKilo: e.payload.doc.data()['rappelKilo'],
cvoiture:e.payload.doc.data()['voiture'],
rappelService:e.payload.doc.data()['rappelService'],
};
})
console.log(this.rappels);
});
this.cr.read_Voiture().subscribe(data => {
this.voitures = data.map(e => {
return {
id: e.payload.doc.id,
isEdit: false,
text: e.payload.doc.data()['text'],
mat: e.payload.doc.data()['mat'],
date: e.payload.doc.data()['date'],
description: e.payload.doc.data()['description'],
id_user: e.payload.doc.data()['id_user'],
kilo: e.payload.doc.data()['kilo']
};
} )
console.log(this.voitures);
console.log(this.voitures[0].kilo);
console.log(this.rappels[0].rappelKilo);
console.log(this.rappels[0].rappelService);
console.log(this.rappels[0].rappelKilo+this.rappels[0].rappelService)
});
if (this.voitures[0].kilo<(this.rappels[0].rappelKilo+this.rappels[0].rappelService)) {
console.log(this.rappels[0].rappelNom);
}
}
我希望voitures[0].kilo
与总和进行比较this.rappels[0].rappelKilo
,this.rappels[0].rappelService
并让服务名称出现在控制台中,但我得到错误。
解决方案
我建议您在这种情况下使用forkJoin ..
工作原理的想法forkJoin
是,它需要完成输入的可观察对象,并且最终将用于返回由数组表示的可观察对象,该数组由输入可观察对象返回的值组成。
import { forkJoin } from 'rxjs';
ngOnInit() {
const observableA = this.crudService.read_Rappel();
const observableB = this.cr.read_Voiture();
forkJoin(observableA, observableB).subscribe(response => {
console.log(response);
// do the rest here
// this.rappels =
// this.voitures =
// if (this.voitures[0].kilo<(this.rappels[0].rappelKilo+this.rappels[0].rappelService)) {
// console.log(this.rappels[0].rappelNom);
// }
});
}
推荐阅读
- ruby-on-rails - 如何在 Rails 模型中调用可重用代码?
- time - 两个 Grafana 面板 singlestat 和具有相同查询的图形之间的区别
- c# - Xamarin Android Fit 标签
- apache - 如何从 httpd 2.2 迁移到 httpd 2.4 中的 conf.modules.d 目录?
- python - 从选项卡 tkinter 笔记本调用外部程序
- c++ - 矩阵乘法中的异步
- git - 我怎样才能将我的应用程序推送到heroku?
- kapacitor - Kapacitor:如何在 TICK 脚本中获取字段名称
- linq - Linq ForEach、Async Await 的区别
- makefile - Make没有注意到变化