我创建了一个生成缩略图的例程,基本流程如下:
1) get all jpg url from directory
2) iterate all the url
2.1) load url into a bitmap using URLRequest
2.2) resize the bitmap to small size
2.3) encode the bitmap into jpg
2.4) write the jpg into a file
3) update list dataprovider with thumb url and refresh
这适用于 1 个文件,但在 2 个或更多文件上失败,这是因为步骤 2.1 到 2.4 包含在具有异步方法的静态函数中。2.1 是异步的,resize 是异步的,encode 是异步的,每个都通过匿名函数嵌套等待完成事件。
到下一次迭代到达步骤 2.1 时,它将传递新的 url,并且上一次迭代的回调方法将使用它。
有什么更好的方法来解决这个问题?我是否只是创建一个类来执行第 2 步并每次都实例化它而不是静态函数?我觉得它有点重。