Execute given async functions in given order until a value is produced