這是我在songAction.js我該如何使redux發送一個動作並返回一個承諾?
export function createSong(title, url, token) {
axios.defaults.headers.common['Authorization'] = token
return function (dispatch) {
axios.post('http://localhost:8080/api/song/create', {
title,
link: url
})
.then((response) => {
console.log('the response was', response)
if(response.data.success){
dispatch({type: "CREATE_SONG_FULFILLED", payload: response.data.song})
} else {
dispatch({type: "CREATE_SONG_REJECTED", payload: response.data})
}
})
.catch((err) => {
dispatch({type: "CREATE_SONG_REJECTED", payload: err})
})
}
}
功能我希望能夠派遣這樣我就可以使用函數這樣一個組件內後返回一個承諾 -
createSong(title, url, token)
.then((result) =>{
// do stuff with result
})
我知道我可以通過回調使這項工作異步..但我想使用承諾的ES6功能。我有點困惑,我該如何做到這一點。
以及既不'函數(派遣){''也沒有。然後((響應)=> {'返回任何東西,所以這是一個開始的問題 –
只需從axios中返回:'return axios.post('http:// localhost:8080/api/song/create'...' –