Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // async setLens function
- ...
- const applyLensPromise = session.applyLens(lens); // camerakit session
- const lensLoadedPromise = this.waitForSessionEvent(LensStep.SessionEvents.LENS_LOADED); // check bellow
- await Promise.allSettled([
- applyLensPromise,
- // Event is not getting fired until session is playing โ
- session.playing || playIfNotPlaying ? lensLoadedPromise : undefined,
- // When we dont need to run play โ
- !session.playing && playIfNotPlaying ? this.play() : undefined,
- ]);
- ...
- // waitForSessionEvent function for above
- waitForSessionEvent(eventType: string): Promise < any > {
- return new Promise(resolve =>
- // see here we used session.stateTarget.addEventListener, but stateTarget is actually private!
- this.session.stateTarget.addEventListener(eventType, (event: unknown) => resolve(event), {
- once: true,
- }),
- );
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement