code: public IPromise<String> getDataAsync() {
          Promise p = new Promise();
          // simulate async long running op
          delayed(3000,() -> p.resolve("Data"));
          return p; // returns before result is present
      }
docs: //////////////////////////////////////////////////