Я новичок в FLUX, и у меня проблема с обработкой ajax в FLUX.Как обрабатывать ответ ajax в FLUX
Моя ситуация следующая:
меня файлу commentAPI.js
//all js files are compiled from coffescript
// fetching all comments from server
_fetchComments: function() {
var promise;
promise = $.ajax({
url: "comments/show",
type: "GET",
dataType: "json"
});
return promise.then(function(response) {
// here should be any action ?
}, function(error) {
return console.log(error);
}); }
Тогда я commentActions.js
fetchComments: function() {
allcomments=commentAPI._fetchComments();
return Dispatcher.dispatch({
actionType: ActionTypes.ALL_COMMENTS,
comments: allcomments
});
}
Этот код фактически не работает, потому что функция _fetchComments calle d в commentActions.js возвращение целиком.
Что я хочу сделать: Я хотел бы получить ответ от Ajax функции обратного вызова и передать результат моего объекта полезной нагрузки, а затем направить его диспетчером в моих _fetchComments() функции в commentActions.js
Как наилучшим образом это сделать? Как я могу получить доступ к ответной функции функции обратного вызова ajax?
Если я хорошо понимаю. .. Мне нужно вызвать действие fetchComments в части кода, где обещано решение, и позволяет сказать, что я знаю, как обновлять свой магазин, а затем я не вызываю метод fetchComments в своих компонентах верхнего уровня, но вместо этого я вызываю свой метод async _fetchComments()? – Morty
Что-то в этом роде. Вы должны отправить асинхронное действие (_fetchComments) из компонента, то есть как оно вызывается. [См. Здесь действия async сокращения] (http://redux.js.org/docs/advanced/AsyncActions.html#async-action-creators) – mimsugara