該代碼的作品,但我想知道如果我是超過承諾。我是否承諾用以下代碼?
我有這個終極版動作
import Promise from 'bluebird';
const uploadAsynch = Promise.promisify(api.upload);
uploadFiles : function(data, dispatch){
var data = {
ep:"EP_UPLOAD",
payload: {
files: data.files,
profile: data.profile
}
}
uploadAsynch(data).then((result)=>{
dispatch({type: FILES_UPLOADED})
});
},
api.upload如下
import axios from 'axios';
upload : function(data, callback){
var files = new FormData();
for(var i=0; i<data.payload.files.length; i++){
files.append('files', data.payload.files[i], data.payload.files[i].name);
}
axios.post(apiEndpoints[data.ep], files, {
headers: {
'accept': 'application/json',
'Accept-Language': 'en-US,en;q=0.8',
'Content-Type': `multipart/form-data; boundary=--*`,
}
})
.then((response) => {
callback(null, response)
}).catch((error) => {
callback(error)
});
},
所以我不知道。如果Axios是一個基於promise的請求客戶端,那麼在動作中用藍鳥包裝它是否正確?
你是什麼意思*在*看好?你真的需要'上傳'是基於回調的嗎? – Ryan
這就是我想知道的...應該只是一個回報,然後用一個開關處理響應? – Ando
不確定你的意思是「用開關」。不過,如果你不需要你的'api.upload'是基於回調的,那麼最好讓它只返回一個承諾,是的。 – Ryan