Javascript ReactJs服务器数据处理
我在Flux架构中有一个小的应用程序。我需要在每次单击按钮时获取服务器端数据。我在商店里写了一些这样的代码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
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
,稍后运行响应回调
你应该把返回语句拿出来,它没有任何作用。您需要对服务器结果执行的任何操作都应该在作为回调传入doob.projectMember
的匿名函数中执行
如果您使用的是flux方法,那么您应该从您的操作中调用api,然后在您的操作中使用服务器的响应,您应该将结果发送给dispatcher,dispatcher随后将其发送到存储
如果您想继续按照上面的方式进行(即从应用商店调用服务器/api),那么您需要让应用商店告诉组件。这通常是通过发出一个事件来完成的,但是您没有在问题中放入任何这样的代码。因此,我认为你所做的并不是正确的方法