2 回答

TA貢獻1796條經驗 獲得超4個贊
takeScreenShot(){
return new Promise((resolve,reject)=>{
this.video.addEventListener("seeked", ()=>{
return resolve()
});
})
}
并使用調用它
this.takeScreenShot().then(()=>{
return this.pauseVideo()
}).then(()=>{
console.log("Successfull completed")
})
請看我知道這是否有幫助

TA貢獻1966條經驗 獲得超4個贊
這就是我想出的解決方案。雖然這并不完全是Sandeep Nagaraj所建議的,但他的評論確實對我找到解決方案有很大幫助。因此,我贊成他擔任這一職務。
async takeScreenShot(){
let seekResolve;
this.video.addEventListener("seeked", async () => {
if (seekResolve) seekResolve();
});
await new Promise(async (resolve,reject)=>{
console.log("promise running", this.video);
if(!this.ended){
if(this.animations.length){
this.pauseLotties()
}
this.pauseVideo();
await new Promise(r => (seekResolve = r));
this.layer.draw();
this.captures.push(this.canvas.toDataURL('image/webp'));
resolve()
this.takeScreenShot()
}
})
},
添加回答
舉報