0
假設您的承諾鏈中有一個分支,可以返回任何內容或AnyObject承諾。你會指定什麼作爲'then'閉包的返回類型?例如:PromiseKit分支承諾
func sample() -> Promise<AnyObject> {
return Promise { fulfill, reject in
fulfill(1)
}
.then { _ -> Void in
if false {
return Promise { fulfill, reject in
fulfill(0)
}
}
}
}
如果我把Void作爲'then'閉包的返回類型,我得到一個seg故障;如果我把Promise作爲返回類型,那麼我得到一個錯誤:
missing return in a closure expected to return Promise<AnyObject>
有什麼建議嗎?
謝謝
如果使用'Promise'作爲返回類型,則必須返回一個Promise。現在你只能在'if false'的情況下這樣做,永遠不會執行。 – jtbandes
如果我改變爲'FUNC樣品() - >無極 { 返回無極{履行,拒絕 滿足(1) }。然後{_ - >在 debugPrint( 「foo」 的)空隙 }。然後{ _ - >無極在 如果假{ 回報承諾{履行,拒絕 落實(0) } } 回報承諾{履行,拒絕 履行(0) } } }'它的工作原理;但似乎有點跛腳,我不得不明確地返回一個空的承諾@jtbandes –
bunana
你的目標是什麼?爲什麼你有這個'假'分支? – jtbandes