Все они плохие примеры.
connect()
способен then
, поэтому он, вероятно, возвращает обещание.Создание дополнительных обещаний, которые ничего не делают, кроме возврата результатов другого обещания, только усложняет ситуацию.
Вы можете переписать все это как:
let getClient = connect;
... и получить что-то более илибез идентичных (если только вы не собирались пойти и применить некоторые странные крайние случаи).
Ваш первый пример берет результаты разрешения обещания подключения, создает новое обещание и сразу же разрешает его с помощьюто же значение, а затем возвращает обещание, принятое обещанием подключения.
Ваш второй пример делает то же самое, за исключением того, что нет принятия, поэтому исходные результаты обещания подключения доступны в следующем then
вцепь.(Эти результаты идентичны тем, которые прошли через дополнительное обещание в предыдущем примере).
Ваш третий пример создает новое обещание вне вызова connect
, а затем разрешает его со значением из connect
.Это еще одно бессмысленное дополнительное обещание.