我刚开始使用回流js/react 和 webpack。我真的很喜欢listenAndPromise
异步模式,但是我遇到了一个问题。我得到以下代码:
行动:
var ResumeService = require('services/ResumeService');
var ResumeActions = Reflux.createActions({
'save': {
asyncResult: true
}
});
ResumeActions.save.listenAndPromise(ResumeService.save);
简历服务:
var http = require('utils/http');
var ENDPOINT = '/resumes/';
module.exports = {
save: function() {
return http.post(ENDPOINT + 'save', {
resume: ??????????
});
},
}
和部分商店:
var RendererActions = require('actions/RendererActions');
var ResumeStore = Reflux.createStore({
listenables: [ResumeActions],
resume: Immutable.fromJS(ResumeExample), //nested object
onSaveCompleted: function(id) {
.....
},
onSaveFailed: function() {
....
}
...
});
因此,当用户进行更改时,商店中的 resume 变量就会更新。现在用户想要保存更改,他点击了一个触发按钮Action.save()
。我的问题来了:如何将resume
变量从商店传递到service
上面的文件?
奇怪的是,如果我var Store = require('stores/ResumeStore');
在service
文件中执行此操作,它具有 value object {}
,只有当我将 store 包含在服务中时才会发生这种情况,我认为它与无限循环要求或类似的事情有关。(Store 需要 Action,Action 需要 Service,Service 需要 Store)