Javascript 使用存储区中的数据进行异步请求
我刚开始使用refluxjs/react-with-webpack。我非常喜欢Javascript 使用存储区中的数据进行异步请求,javascript,asynchronous,reactjs,reactjs-flux,refluxjs,Javascript,Asynchronous,Reactjs,Reactjs Flux,Refluxjs,我刚开始使用refluxjs/react-with-webpack。我非常喜欢listenAndPromise异步模式,但我遇到了一个问题。我得到了以下代码: 行动: var ResumeService = require('services/ResumeService'); var ResumeActions = Reflux.createActions({ 'save': { asyncResult: true } }); ResumeActions.save
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
变量从存储区传递到上面的服务
文件
奇怪的是,如果我做
var-Store=require('stores/ResumeStore')
在服务
文件中,它的值为对象{}
,只有当我将存储包含在服务中时才会发生这种情况,我认为这与无止境循环或类似的情况有关。(存储需要操作,操作需要服务,服务需要存储)为什么不在ResumeService的save方法中添加resume作为参数
module.exports = {
save: function(resume) {
return http.post(ENDPOINT + 'save', {
resume: resume
});
},
}
然后ResumeActions.save.listenAndPromise(ResumeService.save)代码>应该可以工作。ListendPromise只是将操作负载传递给其回调参数