Advertisement
quantumSkill

Untitled

Dec 11th, 2022
1,119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // async setLens function
  2. ...
  3. const applyLensPromise = session.applyLens(lens); // camerakit session
  4. const lensLoadedPromise = this.waitForSessionEvent(LensStep.SessionEvents.LENS_LOADED); // check bellow
  5.  
  6. await Promise.allSettled([
  7.     applyLensPromise,
  8.     // Event is not getting fired until session is playing โ†“
  9.     session.playing || playIfNotPlaying ? lensLoadedPromise : undefined,
  10.     // When we dont need to run play โ†“
  11.     !session.playing && playIfNotPlaying ? this.play() : undefined,
  12. ]);
  13. ...
  14.  
  15. // waitForSessionEvent function for above
  16. waitForSessionEvent(eventType: string): Promise < any > {
  17.     return new Promise(resolve =>
  18.         // see here we used session.stateTarget.addEventListener, but stateTarget is actually private!
  19.         this.session.stateTarget.addEventListener(eventType, (event: unknown) => resolve(event), {
  20.             once: true,
  21.         }),
  22.     );
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement