Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用存储区中的数据进行异步请求_Javascript_Asynchronous_Reactjs_Reactjs Flux_Refluxjs - Fatal编程技术网

Javascript 使用存储区中的数据进行异步请求

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

我刚开始使用refluxjs/react-with-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
变量从存储区传递到上面的
服务
文件


奇怪的是,如果我做
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只是将操作负载传递给其回调参数