promise.all渲染两次并返回undefined

时间:2020-03-17 11:35:39

标签: javascript react-native

大家好,我正在处理React Native项目,我正在离线工作,所以我必须离线存储数据,当互联网恢复时,我必须将用户重定向到屏幕并将数据发送到网络并更改百分比,但是我问题在于,提取两次,并且所有promis后返回的数据都未定义,并且通过服务器和数据库中的方式传递给服务器的数据是更改器

这是我的功能

git checkout

1 个答案:

答案 0 :(得分:0)

除非以简短的形式在一行中编写它,否则map方法应该具有返回值:

export const syncOfflinedata = activities => {
  return dispatch => {
    Promise.all(
      activities.map(item => {
        return Api()
          .put(putEvaluation(item._id), {evaluation: item.evaluation})
          .then(data => {
            dispatch(setProgressporcentage(1 / activities.length));
          })
          .catch(err => {
            console.log(err.message);
          });
      }),
    )
    .then(datafinished => {
      console.log('finished', datafinished);
    })
    .catch(e => {
      console.log(e);
    });
  };
};