Ошибки компиляции PromiseKit - PullRequest
1 голос
/ 30 марта 2020

Я новичок в PromiseKit однако я не могу заставить что-то очень базовое c работать. Учтите это:

func test1() -> Promise<Bool> {
    return Promise<Bool>.value(true)
  }

  func test2() -> Promise<Bool> {
    return Promise<Bool> { seal in
      seal.fulfill(true)
    }
  }

  func test3() -> Promise<Bool> {
    return Promise<Bool>.value(true)
  }

Следующее дает мне ошибку в каждой строке:

Невозможно преобразовать значение типа Promise<Bool> в тип результата закрытия Guarantee<()>

 firstly {
    test1()
  }.then {
    test2()
  }.then {
    test3()
  }.done {

  }.catch {

  }

Что я делаю не так? Я пробовал разные комбинации, но ничего не получается. Я на PromiseKit 6.13.

1 Ответ

0 голосов
/ 30 марта 2020

Из руководства по устранению неисправностей PromiseKit :

Swift не позволяет беззвучно игнорировать параметры замыкания.

Итак, у вас есть просто укажите параметр закрытия, как показано ниже:

firstly {
        test1()
    }.then { boolValue in
        self.test2()
    }.then { boolValue in
        self.test3()
    }.done { _ in

    }.catch { _ in

    }

или даже с присвоением имени _ параметру (подтверждение существования аргумента, но игнорирование его имени)

firstly {
        test1()
    }.then { _ in
        self.test2()
    }.then { _ in
        self.test3()
    }.done { _ in

    }.catch { _ in

    }
...