let cropperProcessing = true
let promise = new Promise((resolve, reject) => {
// 阻塞上传,开始裁剪图片
let count = 0
let runLoop = () => {
if (cropperProcessing) {
count++
console.log(`第${count}次阻塞中,等待处理上传,还没resolve`)
setTimeout(runLoop, 300)
} else {
// 处理图片完成,将图片递给uploader,释放阻塞上传
resolve(count)
}
}
runLoop()
})
promise && promise.then(final => { console.log(`阻塞释放,resolve在${final}次`) })
<button onclick='cropperProcessing=false'>点我继续上传</button>