Нет никакого возможного значения типа Nothing
вообще (не null
, ни одного вообще).Обещание Nothing
не может быть выполнено, так же как функция с типом результата Nothing
не может вернуться.
Поскольку нет значения типа Nothing
, нет способа вызвать успех.На самом деле вы не вызываете успех, вы неправильно понимаете, что здесь означает _:
когда вы объявляете var
(и только когда вы его объявляете), вы можете установить его значение по умолчанию с помощью '_',v ar v : Int = _
установит v
на 0
, а var v: String = _
установит null
.Если вы попробуете это с Nothing, var v : Nothing = _
, то произойдет сбой.Опять же, нет значения типа Nothing
.
С другой стороны, когда вы пишете promiseWithFinish.Success(_)
, это ярлык для
x => promiseWithFinish.Success(x)
Вы создаете значение функции, не используя его, вы вообще ничего не делаете.