Generic datafetcher that fetches data and returns promises