我收到了ZoneAwarePromise,当我将其记录到控制台时,我发现它包含__zone_symbol__value我想知道是否可以设置一个等于__zone_symbol__value的变量?
答案 0 :(得分:3)
我这样做:
ngOnInit() {
console.log(" Ticket initialized");
this.getBranchTickets().then(data => console.log(data));
}
getBranchTickets() {
return this.ticketService.getBranchTickets().$promise;
}
答案 1 :(得分:0)
如您所知,storage.get返回一个promise,而不是值。 你需要在.then
中打开承诺strorage.get('key')
.then( res => console.log(res));
答案 2 :(得分:0)
(变量|异步)?。字段
答案 3 :(得分:0)
您收到此__zone_symbol__值,因为您在同步验证器列表中错误地包括了返回异步验证器的诺言,请尝试更改验证器的位置,这对我有用。
答案 4 :(得分:0)
240,000
答案 5 :(得分:0)
我通常用$符号表示法来声明可观察对象,例如:
this.profile$: any;
this.profile: any;
this.profile$ = navParams.get('profile');
利用 then()方法返回承诺,我填充了一个没有$符号的变量
const self = this;
this.profile$.then(val => self.profile = val);
我设置了一个 self 常量,保留了这个全局对象,否则将引用promise本身,而不是父对象。
希望这可以帮助某人简化流程。
答案 6 :(得分:0)
async yourFunction(){
const Ref0 = firebase.firestore().collection("your_collection").doc(doc.id)
const Ref1 = appointmentsRef.where('val1', '==',condition1).get();
const Ref2 = appointmentsRef.where("val2", "!=", condition2).get()
const [snapshot_val1, snapshot_val2] = await Promise.all([Ref1, Ref2]);
const val1_Array = snapshot_val1.docs;
const val2_Array = snapshot_val2.docs;
const globale_val_Array = val1_Array .concat(val2_Array );
return globale_val_Array ;
}
/*Call you function*/
this.checkCurrentAppointment().then(docSnapshot=> {
docSnapshot.forEach(doc=> {
console.log("Your data with multiple code query:", doc.data());
});
});
答案 7 :(得分:-2)
确保您没有返回异步对象(例如Observable或Promise)而不是原始对象,数组e等