@@ -690,18 +690,17 @@ private extension PluginStore {
690690 }
691691
692692 func fetchPluginDirectoryEntry( slug: String ) {
693- let remote = PluginDirectoryServiceRemote ( )
694693 state. fetchingDirectoryEntry [ slug] = true
695- remote . getPluginInformation (
696- slug : slug ,
697- completion : { [ actionDispatcher ] ( result ) in
698- switch result {
699- case . success ( let entry ) :
700- actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryEntry ( slug: slug, entry: entry) )
701- case . failure ( let error ) :
702- actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryEntryFailed ( slug: slug, error: error) )
703- }
704- } )
694+
695+ Task { @ MainActor [ actionDispatcher ] in
696+ do {
697+ let remote = PluginDirectoryServiceRemote ( )
698+ let entry = try await remote . getPluginInformation ( slug : slug )
699+ actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryEntry ( slug: slug, entry: entry) )
700+ } catch {
701+ actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryEntryFailed ( slug: slug, error: error) )
702+ }
703+ }
705704 }
706705
707706 func receivePluginDirectoryEntry( slug: String , entry: PluginDirectoryEntry ) {
@@ -747,12 +746,12 @@ private extension PluginStore {
747746 func fetchPluginDirectoryFeed( feed: PluginDirectoryFeedType ) {
748747 state. fetchingDirectoryFeed [ feed. slug] = true
749748
750- let remote = PluginDirectoryServiceRemote ( )
751- remote . getPluginFeed ( feed ) { [ actionDispatcher ] result in
752- switch result {
753- case . success ( let response) :
749+ Task { @ MainActor [ actionDispatcher ] in
750+ do {
751+ let remote = PluginDirectoryServiceRemote ( )
752+ let response = try await remote . getPluginFeed ( feed )
754753 actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryFeed ( feed: feed, response: response) )
755- case . failure ( let error ) :
754+ } catch {
756755 actionDispatcher. dispatch ( PluginAction . receivePluginDirectoryFeedFailed ( feed: feed, error: error) )
757756 }
758757 }
0 commit comments