В чем разница между .resolve() и .promise()? - программирование

В чем разница между .resolve() и .promise()?

Я копаю в jQuery отложенные функции. Я пробовал несколько примеров в Интернете. Я понял его концепцию, но я не понимаю разницы между resolve() и promise().

В чем разница между resolve() и promise()?

4b9b3361

Ответ 1

Оба resolve() и promise() являются методами объекта jQuery Deferred.

Сначала фрагмент из документации jQuery о Отложенных:

Одна модель для понимания Отложенная - это думать о ней как о цепочки функций. Отложенные. Then(), отложенные.(), и методы отложенных .fail() определяют функции, которые должны быть вызваны, и отложенные.революционные (args) или отложенные. (args) методы "вызывают" функции с аргументами, которые вы предоставляете.

С учетом этого promise() возвращает объект, который очень похож на объект Deferred, за исключением того, что он имеет только методы then(), done() и fail() и не имеет resolve() или reject().

Из сообщения в блоге m-sharp, относящегося к promise():

Это полезно, когда вы хотите дать вызывающему API что-то подписаться, но не способность разрешать или отклонять отложенные.