【发布时间】:2016-07-03 16:51:25
【问题描述】:
在 Swift 中,我们可以编写一个带有完成块的函数,如下所示:
func thisNeedsToFinishBeforeWeCanDoTheNextStep(completion: () -> ()) {
print("The quick brown fox")
completion()
}
然后当我们调用它时,我们可以在该块内放置一些东西,以便在它完成后执行它的进程:
func thisFunctionNeedsToExecuteSecond() {
print("jumped over the lazy dog")
}
Python 中的等价物是什么?
【问题讨论】:
-
Python 函数只是按顺序执行。
-
所有代码按顺序执行。所以即使是 API 调用,在前一个函数收到响应之前,它不会进行到下一行?如果我希望一个函数开始执行,但希望程序在它工作时继续运行,一旦该函数完成,我希望它执行别的东西怎么办?
-
除非你使用多线程,否则函数将按顺序执行。
-
@spacemonkey "如果我希望一个函数开始执行,但希望程序在它工作时继续运行 (...)" 那 会是一个很好的问题:)
-
Gotchya。好吧,如果有人想知道你是如何使用 Swift 实现的,那就是上面的代码 :)