Подтвердить что ты не робот

Есть ли способ реализовать promises в ie9 +

Я пытаюсь реализовать собственное обещание на IE9 +, и кажется, что Internet Explorer не распознает класс/объект Promise. Я искал в http://caniuse.com/#search=Promise и видел, что IE не имеет объекта Promise. Но это странно, потому что jQuery и Angular работает с promises и , работая в IE9 +. Возможно, они реализуют свои собственные обещания?? ** Могу ли я реализовать свое собственное обещание? **

4b9b3361

Ответ 1

Какой "родной"

Быть родным означает, что он написан внутри базы кода браузера, а не кода пользователя. Чтобы внедрить promises изначально в IE9, вам нужно будет получить копию исходного кода IE9 от Microsoft, закодировать их, скомпилировать и распространять. Хотя это выполнимо, что это не очень жизнеспособный вариант.

Использование promises сегодня

С другой стороны, существует несколько библиотек обещаний, которые существуют в userlevel. Совершенно возможно реализовать свое обещание - вот отличное сообщение в блоге о том, как.

Вы можете свободно включать библиотеку, например (bluebird) или Q, которые соответствуют этому API, и в дальнейшем будут продолжать работать с ES6 promises. Стоит отметить, что Bluebird, например, работает на IE6 +, поэтому в вашем случае не должно быть проблем.

Например здесь Angular реализация и здесь реализация jQuery - Angular больше читаемый, на мой взгляд.

Стандартная

Также обратите внимание, что в отличие от вышеприведенного кода promises стандартизованы спецификацией Promises/A + с такими библиотеками, как Angular, и библиотеки, такие как jQuery, работают над соответствием и, вероятно, будут в следующей версии. Родные promises также соответствуют стандарту и дополняют его.

Ответ 2

Здесь реализация обещания Я написал себя в typescript и протестирован, чтобы полностью работать с IE8 вверх. Да. он полностью соответствует Promises/A + (и проверен).

Поскольку он написан в typescript, план должен также получить определение для tsd в следующие дни.