0

我无法从 api 调用返回的结果中取回 1 个数组项。

这是行动中的功能。

  followCheckList:function(userId){
    for(var i= 0; i < userId.length;i++ ){
      return{
        types: [C.FOLLOW_CHECK_LIST, C.FOLLOW_CHECK_LIST_SUCCESS, C.FOLLOW_CHECK_LIST_FAIL],
        promise: (client)=> client.get(`/graph/me/follows/${userId[i]}`)
        .then(result => {
          return result.id;      
        })
      }
    }
  }

我的减速机

    case C.FOLLOW_CHECK_LIST:
        return{
            ...state,
            follow_check_list:null,
            error:false,
        };
    case C.FOLLOW_CHECK_LIST_SUCCESS:
        return{
            ...state,
            //break here
            error:false,                
            follow_check_list: action.result
        };

    case C.FOLLOW_CHECK_LIST_FAIL:
        return{
            ...state,
            follow_check_list:false,
            error:action.error,
        };

    default: return state || {loading: false,
                                    loaded: null,
                                    list_loaded: null};
}

我期待 2 个结果,follow_check_list : action.result所以在我的状态下我应该看到

follow_check_list : Array[2].
       0: item1,
       1: item2

但相反,我看到:

follow_check_list : Array[1].
       0: item1,

更新 我的组件。arrayIds 有 2 个项目。

let arrayIds=[];
const FollowStatus = React.createClass ({

    componentWillMount(){
        arrayIds.push(this.props.status);
    },
    componentDidMount(){
        this.props.followCheckList(arrayIds)
    },

提前谢谢各位

4

1 回答 1

1

看起来你的 followCheckList 函数在“for”循环中有一个“return”语句:函数执行在第一次迭代时停止,这一定是你只得到“item1”的原因。

于 2016-03-30T13:00:41.227 回答