[问题] 异步观念厘清

楼主: t19960804 (泥好吗)   2019-01-31 10:12:51
当我使用异步的方法去取得资料时
为什么需要用completion去做处理?
有去查了一下
但只说因为是异步所以要用completion
我还是不太清楚这两者之间的关系
求大大开释
作者: ch30529 (主人)   2019-01-31 11:17:00
不知道什么时候得到回应,又要在回应之后做
作者: darktt (小朱)   2019-01-31 11:20:00
正常code的顺序是同步的时候,而异步的时候是不会等待结果到了才接着下一行,而是先往下一行跑,等结果回来后再处理这要从Swift来看会比较快理解,Swift的闭包等同于method,所以你可以当completion是一个特殊的method,是用来处理异步呼叫用的
楼主: t19960804 (泥好吗)   2019-01-31 11:38:00
我把completion放进异步方法的scope中处理回传的资料,执行的顺序变成上到下,所以资料才能传入completion中,这样的观念是对的吗?
作者: atst2 (atst2)   2019-01-31 23:08:00
想像一下你想要泡茶, 泡茶前要先烧开水; 但如果你一直等著水烧开,其他事就不用做了; 所以你去买一个气笛水壶, 水烧开就自动通知你回来泡茶. 在这段时间你就可以做别的事.completion,或者是callback, 就像是气笛的角色.
作者: gundam00 (傻那驾驶中)   2019-02-01 14:24:00
把completion内跟其他部分都print出来 就知道了
作者: bbonline229 (bbonline229)   2019-02-01 14:25:00
推楼上

Links booklink

Contact Us: admin [ a t ] ucptt.com