Я пытаюсь отправить и вызвать функцию getUnaddedCartItems в своих действиях корзины:
cartRedirect = () => {
this.props.dispatch(getUnaddedCartItems().then((result) => {
if (result.length === 0) {
this.setState({unaddedCartItems: result});
}
}).catch(err => {
Actions.cart();
}));
}
Я могу приступить к своему действию, и точка останова попадает в первую строку, но затем по какой-то причине не переходит к следующей строке и сразу же выскакивает обратно!
И тогда я получаю сообщение об ошибке. Я не понимаю, почему он не пытается войти в мой асинхронный вызов. Может кто подскажет, почему это происходит и как исправить ошибку?
Я думаю, что вам не хватает ) после диспетчерского вызова, и что вам действительно нужно, чтобы затем после диспетчерского вызова и возвращались результаты из getUnaddedCartItmes.
getUnaddedCartItems не возвращает обещание, а возвращает некоторую функцию
Я попытался использовать только вызов AsyncStorage в действии, не будучи заключенным в вызов диспетчеризации, но затем я получаю сообщение об ошибке: «Действия должны быть простыми объектами. Используйте настраиваемое промежуточное программное обеспечение для асинхронизации», но я не хочу использовать какое-либо промежуточное программное обеспечение. Я думал, что AsyncStorage должен возвращать обещание.
Вы подключили промежуточное программное обеспечение thunk? Действия, возвращающие функции, работают только с redux-thunk
Нет, но я думаю, что займусь этим. Спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы должны отправить действие преобразователя, а затем обработать возвращенное обещание.
this.props.dispatch(createMyThunkActionReturningPromise())
.then(handleMyPromise)
.catch(handleMyPromseError);
Проблема в том, что вы отправляете обещание, а не функцию (действие thunk).
Возвращает ли
getUnaddedCartItemsобещание или должен быть еще один) после этого вызова?