diff --git a/cmd/root.go b/cmd/root.go index 2721d72..92f1b4e 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -44,12 +44,21 @@ func rssfetch(cmd *cobra.Command, urls []string) { } fp := gofeed.NewParser() + var feedChs []chan *gofeed.Feed for _, url := range urls { - feed, err := fp.ParseURL(url) - if err != nil { - log.Fatal(err) - } + ch := make(chan *gofeed.Feed) + go func(url string) { + feed, err := fp.ParseURL(url) + if err != nil { + log.Fatal(err) + } + ch <- feed + }(url) + feedChs = append(feedChs, ch) + } + for _, feedCh := range feedChs { + feed := <-feedCh for _, item := range feed.Items { out, err := formatItem(item, tmpl) if err != nil {