forhandhand in in循环

时间:2017-11-23 11:02:50

标签: ios swift loops asynchronous completionhandler

我在for循环中运行一个完成处理程序,所以是一个循环中的异步操作...

这就是我加入from collections import Counter count = rdd.combineByKey(lambda v: Counter(v), lambda c,v: c + Counter(v), lambda c1,c2: c1 + c2) print count #[('20170901', Counter({'TX': 3, 'CA': 1})), ('20170902', Counter({'CA': 2, 'TX': 2}))] 的原因:

DispatchGroups()

嗯,文件路径存在,但我没有在控制台中获得任何打印,但我需要在每次异步操作完成后得到通知。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

ASSUMING 您正在上传到Firebase。

要尝试的事情: 将let _ = ref.putFile(from: url...更改为let uploadObj = ref.putFile(from: url...
然后,作为for循环的最后一行执行此操作:uploadObj.resume()

如果这不起作用,那么我最好的猜测是Firebase的框架无法处理多个同时上传。解决方案是等待每个文件完成上传,然后上传下一个文件。

您也可以尝试使用代码,但只能上传1个文件。如果可行,则问题很可能是并发上载问题。尝试用2,然后继续,如果它没有失败。如果它最终失败,那么同时性肯定是问题。

如果您坚持尝试同时上传,请转到Google's documentation on this,并实施其示例以监控上传。然后,您将能够确切了解每次上传的内容。

这是一个更新:
This post的答案还建议一次上传一个。