documentation для jQuery.when() говорит, что эта функция принимает Отсрочки. Тем не менее, он также говорит о том, что позже:Могу ли я передать обещания jQuery.when() или только отложить?
Если один аргумент передается jQuery.when(), и это не Отложенный или Promise ...
, который, кажется, подразумевает, что он также может принимать Обещания. Но обещания не откладываются - у них есть подмножество методов Отсрочки. Думаю, вы могли бы сказать, что Отсрочка - это обещание, но обещание не отложено.
Вопросы:
- Может $ .when() принимает либо посылы или Deferreds? Кажется, это работает в моем тестировании.
- Есть ли ошибка в документе? Я думаю, он должен сказать, что $ .when() берет Обещания, а не только Отсрочки.
1. Да, это возможно. 2. Возможно, он лучше подходит для разработчиков jQuery. –
@ Karl-AndréGagnon 2. Хорошая идея - я зарегистрировал эту ошибку документации jquery: https://github.com/jquery/api.jquery.com/issues/906 –
@JonathanAquino '$ .when()' может принимать ' jQuery.Deferred() ',' jQuery.promise() 'или собственный' Promise'. См. Http://blog.jquery.com/2016/01/14/jquery-3-0-beta-released/. Документация в '$ .when()' пытается описать, что '$ .when()' может принимать параметр, который является префиксом 'jQuery.Deferred()', 'jQuery', или собственный' Promise', и обратные вызовы '.then()' или '.done()' будут обрабатывать переданный параметр как решение 'jQuery.Deferred()' – guest271314