求助,协程和异步使用问题

想实现一个分步加载的托管单元,想使用协程完成,结构类似于

local co
local foo = function(file)
local proc1 = function(data)
//do with data
end
cc.Director:getInstance():getTextureCache():addImageAsync(file, proc1)
end

co = coroutine.create(foo)
coroutine.resume(co, “he”)

现在的问题是回调方法里取出的data为空
但是一但在主线程使用异步方法,回调取回的数据却是存在的

初步怀疑是lua_state不同,

请指教指教啊!