Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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 ReactJs服务器数据处理_Javascript_Reactjs_Reactjs Flux - Fatal编程技术网

Javascript ReactJs服务器数据处理

Javascript ReactJs服务器数据处理,javascript,reactjs,reactjs-flux,Javascript,Reactjs,Reactjs Flux,我在Flux架构中有一个小的应用程序。我需要在每次单击按钮时获取服务器端数据。我在商店里写了一些这样的代码 var pieDataForMembers=[]; var ReportStore = assign({}, EventEmitter.prototype, { reportMemberList : function(reportMemberDetails){ ob.projectMember(reportMember,function(g

我在Flux架构中有一个小的应用程序。我需要在每次单击按钮时获取服务器端数据。我在商店里写了一些这样的代码

 var pieDataForMembers=[];
    var ReportStore =    assign({}, EventEmitter.prototype, {
        reportMemberList : function(reportMemberDetails){
         ob.projectMember(reportMember,function(getMembersEffort){ //ajax call
                pieDataForMembers = getMembersEffort;
            });
      return pieDataForMembers;
     }}

但当我运行这段代码时,它并不是在等待服务器数据,而是总是返回空值

您的return语句总是在
ob.projectMember
运行回调之前返回。这就是javascript的工作原理。它将执行到块的末尾(此时返回一个空值),然后调用
ob.projectMember
,稍后运行响应回调

你应该把返回语句拿出来,它没有任何作用。您需要对服务器结果执行的任何操作都应该在作为回调传入do
ob.projectMember
的匿名函数中执行

如果您使用的是flux方法,那么您应该从您的操作中调用api,然后在您的操作中使用服务器的响应,您应该将结果发送给dispatcher,dispatcher随后将其发送到存储

如果您想继续按照上面的方式进行(即从应用商店调用服务器/api),那么您需要让应用商店告诉组件。这通常是通过发出一个事件来完成的,但是您没有在问题中放入任何这样的代码。因此,我认为你所做的并不是正确的方法