Angular and RxDB infinite loop

Discussão em 'Angular' iniciado por Kadiem Alqazzaz, Dezembro 8, 2024.

  1. In the component I have a simple table were one of the columns calls a function getOrderItems() to get order corresponding items:

    <p-table
    [value]="orders$()"
    [tableStyle]="{ 'min-width': '50rem', 'margin-top': '16px' }"
    >
    <ng-template pTemplate="header">
    <tr>
    <th>Id</th>
    <th>Contact</th>
    <th>Total</th>
    <th>Status</th>
    <th>Item</th>
    </tr>
    </ng-template>
    <ng-template pTemplate="body" let-order>
    <tr>
    <td>{{ order.id }}</td>
    <td>{{ order.contact }}</td>
    <td>{{ order.total }}</td>
    <td>{{ order.status }}</td>
    <td>{{ getOrderItems() }}</td>
    </tr>
    </ng-template>
    </p-table>


    Here is the getOrderItems() function:

    getOrderItems() {
    const orderItems = this.ordersService.orderItems();

    console.log(orderItems);
    return orderItems;
    }


    Finallt here is the function inside ordersService:

    orderItems() {
    let orderItems: OrderItem[] = [];
    this.databaseService
    .getDatabase()
    .orderItem.find()
    .exec()
    .then((doc) => {
    orderItems.push(doc);
    })
    .catch((e: RxError) => {
    return Promise.reject(
    'Error while looking for order items: ' + e.message,
    );
    });

    return orderItems;
    }


    The issue I'm getting infinite loop because of getOrderItems() function and I have no idea why?

    Continue reading...

Compartilhe esta Página