diff --git a/CHANGELOG.md b/CHANGELOG.md index e71b23c..463ccf8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +## 3.0.0-rc.5 +- 修复可视化代码逻辑 ## 3.0.0-rc.4 - 支持hsp多包图片资源 diff --git a/library/src/main/ets/ImageKnifeDispatcher.ets b/library/src/main/ets/ImageKnifeDispatcher.ets index 196cabb..ce0fa19 100644 --- a/library/src/main/ets/ImageKnifeDispatcher.ets +++ b/library/src/main/ets/ImageKnifeDispatcher.ets @@ -206,7 +206,7 @@ export class ImageKnifeDispatcher { if (requestWithSource.source == ImageKnifeRequestSource.SRC) { requestWithSource.request.requestState = ImageKnifeRequestState.COMPLETE - if(currentRequest.imageKnifeOption.onLoadListener && currentRequest.imageKnifeOption.onLoadListener.onLoadSuccess) { + if (currentRequest.imageKnifeOption.onLoadListener && currentRequest.imageKnifeOption.onLoadListener.onLoadSuccess) { currentRequest.imageKnifeOption.onLoadListener.onLoadSuccess(ImageKnifeData.source); } } else if (requestWithSource.source == ImageKnifeRequestSource.ERROR_HOLDER) { @@ -227,9 +227,16 @@ export class ImageKnifeDispatcher { } dispatchNextJob() { - let request = this.jobQueue.pop() - if (request !== undefined) { - this.executeJob(request) + + while (true) { + let request = this.jobQueue.pop() + if (request === undefined) { + break // 队列已无任务 + } + else if (request.requestState === ImageKnifeRequestState.PROGRESS) { + this.executeJob(request) + break + } } }