Ответ 1
Оба resolve()
и promise()
являются методами объекта jQuery Deferred
.
Сначала фрагмент из документации jQuery о Отложенных:
Одна модель для понимания Отложенная - это думать о ней как о цепочки функций. Отложенные. Then(), отложенные.(), и методы отложенных .fail() определяют функции, которые должны быть вызваны, и отложенные.революционные (args) или отложенные. (args) методы "вызывают" функции с аргументами, которые вы предоставляете.
С учетом этого promise()
возвращает объект, который очень похож на объект Deferred
, за исключением того, что он имеет только методы then()
, done()
и fail()
и не имеет resolve()
или reject()
.
Из сообщения в блоге m-sharp, относящегося к promise()
:
Это полезно, когда вы хотите дать вызывающему API что-то подписаться, но не способность разрешать или отклонять отложенные.