TextureCache addImageAsync 异步加载 回调函数问题

用for循环进行图片资源的加载 最终只执行了一次回调函数 其他全在进行for循环却没执行回调函数 是什么问题啊

void Preload::asynLoadingImage() {
//将图片加入全局cache中
m_iImageCnt = m_imageArray.size();
for (unsigned i = 0; i < m_imageArray.size(); i++) {
Director::getInstance()->getTextureCache()->addImageAsync(
m_imageArray[i],
CC_CALLBACK_1(Preload::asynLoadingImageDone, this, m_imageArray[i]));
}

}

void Preload::asynLoadingImageDone(Texture2D* texture, const std::string& filename) {
//通知加载进度
this->notifyProgress(++m_iTmpProgress);
m_iImageCnt–;
//全部加载完成
DEBUG_LOG(“Preload::asynLoadingImageDone[%d]: %s”, m_iImageCnt, filename.c_str()); //调试程序使用的输出语句
if (0 == m_iImageCnt) {
DEBUG_LOG(“asynLoadingImageDone OK”);
m_bImageLoaded = true;
this->loadingDone(PreloadType::Image);
}
}