我在服務器上使用GraphQL和貓鼬。阿波羅客戶端突變錯誤處理
當驗證錯誤發生GraphQL突變發送帶有狀態代碼200的響應在客戶端的響應看起來是這樣的:
{
"data": null,
"errors": [{
"message": "error for id...",
"path": "_id"
}]
}
我想獲得訪問驗證錯誤使用apollo-client突變許諾的catch
功能。喜歡的東西:
this.props.deleteProduct(this.state.selectedProductId).then(response => {
// handle successful mutation
}).catch(response => {
const errors = response.errors; // does not work
this.setState({ errorMessages: errors.map(error => error.message) });
});
如何才能做到這一點?
嘗試使用'throw'語句創建'Error'實例 –