如何等待发货?

Posted

技术标签:

【中文标题】如何等待发货?【英文标题】:How to Wait for Dispatch? 【发布时间】:2016-06-18 18:38:30 【问题描述】:

我正在使用带有 es6 的 react 和 Flux 实用程序。我希望SalesStore 在执行自己的调度之前等待SessionStore 完成。在SalesStore 我有以下内容,但调度不等待。有谁知道问题可能是什么?谢谢。

class SalesStore extends ReduceStore 

    getInitialState() 
        return ;
    

    reduce(state, action) 
        switch(action.type) 
            case Constants.FETCH_SALES:
                this.getDispatcher().waitFor([SessionStore.getDispatchToken()]);
                return state;

            case Constants.FETCH_SALES_SUCCESS:                
                this.getDispatcher().waitFor([SessionStore.getDispatchToken()]);
                return action.payload;

            case Constants.FETCH_SALES_FAILURE:
                this.getDispatcher().waitFor([SessionStore.getDispatchToken()]);
                return state;

            default:
                return state;
        
    



export default new SalesStore(AppDispatcher);

【问题讨论】:

【参考方案1】:

reducer 必须是纯函数 所以你应该将异步调用转移到动作创建者

function getToken()
   // Async call then
   return 
     type:'GET_TOKEN_SUCCESS' 
   


function getSales()
   // async then
   return 
     type:'GET_SALES_SUCCESS' 
   


// main action will call `getToken` and `fetchSales` actions
function fetchSales(params)
    return dispatch => 
         dispatch(getToken()).then((res)=> dispatch(getSales())
    

要管理承诺,您可以使用middleware

【讨论】:

以上是关于如何等待发货?的主要内容,如果未能解决你的问题,请参考以下文章

如何找到发货的最佳仓库位置?

NetSuite REST API - 如何更新销售订单与跟踪号一起发货

关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案

如何让淘宝店铺的商品能自动发货到旺旺

重复支付问题如何解决(悲观锁和乐观锁)

发货时如何在 Retina 显示屏上为应用程序启用“使用低分辨率”?