Javascript Redux异步操作在承诺解析之前执行

Javascript Redux异步操作在承诺解析之前执行,javascript,reactjs,promise,react-redux,ipfs,Javascript,Reactjs,Promise,React Redux,Ipfs,我面临一个错误,下面的代码是异步操作“FILE\u UPLOAD\u SUCCESS”发出的,甚至在承诺得到解决之前,因此操作负载返回未定义。你知道怎么解决吗 动作创建者 export const upload = (file) => { return (dispatch)=>{ dispatch({type:"FILE_UPLOAD_START"}) return new Promise.resolve(()=>{

我面临一个错误,下面的代码是异步操作“FILE\u UPLOAD\u SUCCESS”发出的,甚至在承诺得到解决之前,因此操作负载返回未定义。你知道怎么解决吗

动作创建者

export const upload = (file) => {
    return (dispatch)=>{
        dispatch({type:"FILE_UPLOAD_START"})
            return new Promise.resolve(()=>{
               uploadDoc(file).then((hash)=>dispatch({type:"FILE_UPLOAD_SUCCESS",payload:hash}))
                }).catch((err)=>{
                    dispatch({type:"FILE_UPLOAD_ERROR",payload:err})
                })
    }
}
上传文档

export const uploadDoc = (file) =>{
    return new Promise((resolve,reject)=>{
        var reader = new FileReader();
        reader.readAsArrayBuffer(file[0]);
        reader.onloadend = (evt) =>{
            resolve(reader);
        }
        }).then((reader)=>{
            return Promise.resolve(()=>{
                const buffer = Buffer.from(reader.result);
                ipfs.add(buffer)
                    .then((res)=>{
                        return res[0].hash;
                })
            })
        })
}

请分享完整的代码。有些变量不是代码的一部分,例如,
ipfs
。ipfs没有任何代码。它是NPM中可用的API