Я хочу загрузить профиль пользователя перед тем, как сделать что-то на странице, но весь профиль пользователя состоит из разных частей, которые загружаются несколькими HTTP-запросами.Как выполнить несколько запросов Http (Задачи) навалом в Elm lang
До сих пор я загружаю профиль пользователя в последовательности (один за другим)
type alias CompanyInfo =
{ name: String
, address: ...
, phone: String
, ...
}
type alias UserProfile =
{ userName: String
, companyInfo: CompanyInfo
, ...
}
Cmd.batch
[ loadUserName userId LoadUserNameFail LoadUserNameSuccess
, loadCompanyInfo userId LoadCompanyInfoFail LoadCompanyInfoSuccess
...
]
Но это не очень эффективно. Есть ли простой способ, как выполнить кучу Http-запросов и вернуть только одно полное значение?
Что-то вроде этого
init =
(initialModel, loadUserProfile userId LoadUserProfileFail LoadUserProfileSuccess)
....
Стоит отметить, что эти сетевые запросы будут выполняться последовательно; они не будут одновременно. –
Есть ли способ сделать это, что _is_ параллельно? – mLuby
Используйте 'Cmd.batch' для запуска задач одновременно. Обратите внимание, что они не будут иметь никакого отношения друг к другу, поэтому любые зависимости между результатами будут обрабатываться вами в вашей функции 'update'. –