DataService that fetches data not loaded already or loads cached values
Short review

  if (this.datas !== null) {
    return of(this.data);
  }


That looks like a bug, should it not be (this.data !== null) ?

Also, what is of, where is it defined?

Other than, the code is very clean in both parts. So clean, that I almost would switch the of and the localStorage call. But since this would dupe the null check, that might in the end not be the best idea.

  if (this.data !== null) {
    return of(this.data);
  } else {
      this.data = JSON.parse(localStorage.getItem('data'));
      if (this.data !== null) {
        return of(this.data);
      }
  }