Как сделать так, чтобы блок do возвращался раньше?
Я пытаюсь найти веб-страницу с помощью Haskell и скомпилировать результаты в объект.
Если по какой-либо причине я могуЧтобы получить все элементы со страниц, я хочу прекратить попытки обработать страницу и вернуться рано.
Например:
scrapePage :: String -> IO ()
scrapePage url = do
doc > css "head.title" >>> getText
when (isNothing title) (return ())
date >> css "span.dateTime" ! "data-utc"
when (isNothing date) (return ())
-- etc
-- make page object and send it to db
return ()
Проблема заключается вwhen
Безразлично»t остановить блок do или помешать выполнению других частей.
Как правильно это сделать?