'I call method in ngOnInIt from service to print in console but I get error undefined error

In my product page.ts I call getcart() mathod in ngOnInIt from cartservice to print my items in console but in console I get this error:

Cannot read properties of undefined (reading '-Mx97cGeRG4RNfKhdNTZ')

Can anyone help with this?

This is my cartservise:

@Injectable({ providedIn: 'root' })
export class CartService {

      constructor(private db:AngularFireDatabase) { }
    
      private create(){
        return this.db.list('/shoppingcart').push({
          datecreated:new Date().getTime()
        })
      }
      private async getorcreatecartid(){
        let cartid=localStorage.getItem('cartid')
        if(cartid){
          return cartid
        }
        let result= await this.create()
        localStorage.setItem('cartid',result.key)
        return result.key
      }
    
      async getcart(){
         let cartid= await this.getorcreatecartid();
         return this.db.object('/shoppingcart/'+cartid)
      }
      private getitem(cartid:any,productid:any){
        return this.db.object('/shoppingcart/'+cartid+'/items/'+productid);
    
      }
    
      async addtocart(product:any){
        let cartid=await this.getorcreatecartid();
        let item$=this.getitem(cartid,product.key)
        item$.snapshotChanges().pipe(take(1)).subscribe((item:any)=>{
          if(item.payload.exists()){
            item$.update({quantity: item.payload.val().quantity+1})
            
          }
          else{
            item$.update({
              product:{
                title:product.payload.val().title,
                price:product.payload.val().price,
                category:product.payload.val().category,
                imageUrl:product.payload.val().imageUrl
              },
              quantity:1
            })
          }
        })
      }
    }

productcomponent

@Component({
  selector: 'app-products',
  templateUrl: './products.component.html',
  styleUrls: ['./products.component.css']
})
export class ProductsComponent implements OnInit, OnDestroy {
  products: any[] = []
  filteredProducts: any[] = []
  cart: any

  category: any
  subscribe: Subscription

  constructor(private prodser: ProductserviceService, private catser: CategoryserviceService,
    private acroute: ActivatedRoute, private cartser: CartService) {
    this.subscribe = prodser.get().subscribe(products => {
      this.products = products
      this.acroute.queryParamMap.subscribe(params => {
        this.category = params.get('category')
        this.filteredProducts = (this.category) ? this.products.filter(p =>

          p.payload.val().category === this.category
        ) : this.products

      })

    })


  }


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source