I have a function which takes some time to complete, because of that , I want to turn it into a promise.
My goal is to be able to call the function/promise and after it is fullfilled I can use use a
.then()
to do whatever I want.I want
getPlantMaterials()
to be resolved , after I get the API response.
I'am not sure how to correctly convert this into a promise, though :
getPlantMaterials() {
this.isLoadingPlantMaterials = true;
this.$apollo
.query({
query: gql`
query getMaterialByPotSizeId($plantPotSizeId: ID) {
tenantPlantMaterials(
plantPotSize_Id: $plantPotSizeId
) {
edges {
node {
id
quantity
material {
id
name
materialType {
name
id
}
brand
vendor
size
unit
inventory
id
}
}
}
totalCount
}
}
`,
variables: {
plantPotSizeId: this.selectedPlant.plantPotSize.id,
materialId: null,
quantity: null
}
})
.then(response => {
this.selectedPlantMaterials =
response.data.tenantPlantMaterials.edges;
this.selectedPlantMaterials.map(item => {
item.node.totalAmount =
item.node.quantity * this.totalPlantQuantity;
});
console.log(
"this.selectedPlantMaterials",
this.selectedPlantMaterials
);
})
.finally(() => {
this.isLoadingPlantMaterials = false;
});
},