В документации для jQuery.when() сказано, что эта функция принимает Deferreds. Тем не менее, он также говорит позже, что:
Если в jQuery.when() передается один аргумент, и он не является отложенным или обещанным...
что, по-видимому, подразумевает, что он также может принимать обещания. Но промисы не являются отложенными — у них есть подмножество методов отложенных. Я думаю, вы могли бы сказать, что Deferred — это Promise, но Promise — это не Deferred.
Вопросы:
- Может ли $.when() принимать обещания или отсрочки? Кажется, это работает в моем тестировании.
- Есть ли ошибка в документе? Я думаю, следует сказать, что $.when() принимает обещания, а не только отложенные.
$.when()
может приниматьjQuery.Deferred()
,jQuery.promise()
или собственныйPromise
. См. blog.jquery.com/2016/01/ 14/jquery-3-0-beta-released . Документация в$.when()
пытается описать, что$.when()
может принимать параметр, который не является объектом обещанияjQuery.Deferred()
,jQuery
или собственнымPromise
, а обратные вызовы.then()
или.done()
будут обрабатывать переданный параметр как разрешениеjQuery.Deferred()
- person guest271314   schedule 05.04.2016jQuery
, не указанные в документации. Одним из подходов может быть просмотр источника jQuery github.com/jquery/jquery для сравнения с описаниями на документация. Вы также можете попытаться задать вопросы в IRC/чате irc.jquery.org и на форумах forum.jquery.com - person guest271314   schedule 05.04.2016.html()
. Хотя в настоящее время Вопрос, по крайней мере, с точки зрения здесь, OP, похоже, пропустил вторую часть предложения из исходного Вопроса, где дается описание, которое пытается объяснить, что любое значение, переданное$.when()
в качестве параметра, рассматривается как разрешенноеjQuery.Deferred()
. Это доступно в$.when()
в версиях jQuery до 3.0. - person guest271314   schedule 05.04.2016jquery-latest
? Включить"https://code.jquery.com/jquery-git.js"
во фрагменты стека? - person guest271314   schedule 05.04.2016