2017-10-22 24 views
0

私はこのように見える一連の機能を持っている:PromiseKit「いつ(解決された)」約束を返すか?

func getA() -> Promise<Void> { 
    // code 
} 

func getB() -> Promise<Void> { 
    // code 
} 

func getC() -> Promise<Void> { 
    // code 
} 

は、私はこれらのすべてが終了する約束を返すようにしたいです。

func getStuff() -> Promise<[Result<Void>]> { 
    return when(resolved: [getA(), getB(), getC()]) 
} 

しかし、私は、コンパイルエラーを取得しています:ここに私が試したものだ'Result' is ambiguous for type lookup in this contextが。どうすればこれを達成できますか?

+0

[この回答](https://stackoverflow.com/a/42881540/3478010)が役立つかもしれません。 –

答えて

1
func getStuff() -> Promise<[PromiseKit.Result<Void>]> { 
    return when(resolved: [getA(), getB(), getC()]) 
} 
0

ありResultという名前のいくつかは、あなたのコードであり、あなたは、このケースでResultがPromiseKit.Resultを参照していることスウィフトを伝えるためか、名前空間に取られていない、あなたは関連ErrorConsumptionToken気にしないと仮定しResolutionを使用する必要があります。

func getStuff() -> Promise<[Resolution<Void>]> { 
    return when(resolved: [getA(), getB(), getC()]) 
} 
関連する問題