block data recording offline Firebase

Asked

Viewed 29 times

-1

I have this function that performs data recording in Firebase:

addPedido(pedido: Pedido) {
  this.pedidosCollection.add({
     ...pedido,
     log_criado: this.timestamp
  })
}

If you do not have internet connection this function saves the data offline for later when online pair the data with the BD.

How could I block this transaction when the connection is offline?

1 answer

0

Can solve with fromCache

service ts.

async addPedid(pedido: Pedido) {
  return  await this.empresasCollection.doc<Empresa>(pedido.id_empresa).get().toPromise().then(
    snapshot => {
      let retorno = 'erro'
      if(snapshot.metadata.fromCache){
        console.log('está utizando cache')
        retorno = 'offline';
      } else {
        this.pedidosCollection.add({
          ...pedido,
            log_criado: this.timestamp
        }).catch((erro: any) => {
          console.log('erro 33', erro);
          return 'erro';
        });
        retorno = 'online';
      }
    return retorno
  })
}

Component.

async salvaPedido(){
   const returnSalvo = await this.pedidoService.addPedido(this.pedido);
   console.log(returnSalvo)
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.