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