Run multiple futures in parallel, return default value on timeout

I have to run multiple futures in parallel and the program shouldn't crash or hang. For now I wait on futures one by one, and use fallback value if there is TimeoutException. val future1 = // start