start method

Future<void> start()

must call this method before using the other methods

Implementation

Future<void> start() async {
  try {
    metadata = await cache?.get(url);
    if (metadata != null) {
      // Refresh the cache on background
      return getPreviewData(url).then(
        (data) => cache?.set(url, LinkPreviewData.fromPreviewData(data)),
      );
    }
    metadata = LinkPreviewData.fromPreviewData(await getPreviewData(url));
    cache?.set(url, metadata!);
  } catch (e, s) {
    debugPrint('$e\n$s');
    metadata = null;
  }
}