Я пытаюсь настроить повторные попытки при неудачных мутациях, как задокументировано Relay: https://facebook.github.io/relay/docs/api-reference-relay-container.html#getpendingtransactions.
Я вызываю сбой мутации на сервере graphql, возвращая ошибку:
mutateAndGetPayload: ({text}) => {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve(new Error("failed"));
}, 2 * 1000);
});
},
Когда я впервые выполняю мутацию, я вижу статус «COMMITTING». Но затем при следующем рендеринге getPendingTransactions возвращает значение null, и я не могу понять, как увидеть статус «COMMIT_FAILED».
var transactions = this.props.relay.getPendingTransactions(this.props.story);
console.log("TRANSACTIONS", transactions);
var transaction = transactions ? transactions[0] : null;
if (transaction) {
console.log("STATUS", transaction.getStatus());
}
Я должен что-то упустить, но пока не могу понять.