mesqueeb / vuex-easy-firestore

Easy coupling of firestore and a vuex module. 2-way sync with 0 boilerplate!
https://mesqueeb.github.io/vuex-easy-firestore
MIT License
234 stars 28 forks source link

myModule/fetchById issue? #339

Open moreorover opened 4 years ago

moreorover commented 4 years ago

Hello all,

I'm currently trying to fetch a document by its ID. Everything works great if the id exists in the collection, however, if document does not exist with given ID the promise does not proc the catch clause on the function.

trying to fetch document by its id:

{
      path: "/supplier/:id",
      name: "Supplier Show",
      component: () => import("../views/SupplierShow.vue"),
      props: true,
      beforeEnter(routeTo, routeFrom, next) {
        store
          .dispatch("suppliersModule/fetchById", routeTo.params.id)
          .then(supplier => {
            routeTo.params.supplier = supplier;
            next();
          })
          .catch(error => {
            console.log("catch");
            console.log(error);
            next({ name: "404", params: { resource: error.toString() } });
          });
      }
    },

Console shows the following: image

Shouldn't invalid ID proc the catch clause so the router could reroute to the error page? I have tried capturing the error, however, the code breaks within vuex-easy-firestore code.

Note. Logging mode disabled. When enabled, then returns a string indicating an issue that it couldn't find a document with a given ID.

mesqueeb commented 4 years ago

will look into this soon, sorry for the wait!

moreorover commented 4 years ago

please check pull request #340