У меня есть массив, как такJavascript - Redux санк не ждет каких-либо надежд
array =[ {message:'http://about.com'}, {message:'http://facebook.com'}]
Я хочу, чтобы петли этого массива, по каждому пункту я сделаю запрос на сервер для извлечения данных opengraph затем сохранить данные обратно в массив. Это то, что я ожидаю
array =[
{
message: { url:'http://about.com', title:'about'}
},
{
message:{ url:'http://facebook.com', title:'facebook'}
}
]
Тогда, когда все закончится. Я хочу отправить действие с полезной нагрузкой - это ожидаемый массив. Вот как я сделал это
return dispatch => {
let array =[ {message:'http://about.com'}, {message:'http://facebook.com'}]
let quests = array
.map((item) => {
axios.get(getOpenGraphOfThisLink + item.message)
.then(result =>{
item.message = (result.data)
return result
})
})
Promise.all(quests).then(() => {
console.log('modified', array)
dispatch({
type : constant.GET_POST_COLLECTION_SUCCESS,
payload: array
})
// this dispatch function sends my original array instead of modified one.
})
}
Проблема: функция отправки в коде передаст мой исходный массив в редуктор вместо модифицированных один. Я хочу, чтобы отправка посылала новый модифицированный массив. И я думаю, что так должно быть, не так ли?
прямолинейно да, но быть в курсе оговорки в моем ответе. –
У меня подобный случай, любая идея, как решить http: // stackoverflow.com/questions/40791724/javascript-redux-thunk-doesnt-wait-for-any-prom-again –