From a96409db4b1a1957d042b6076267dff109f27ab7 Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Thu, 9 Jul 2015 19:17:55 +0300 Subject: [PATCH] es6 --- 1-js/10-es-modern/16-fetch/article.md | 31 +++++ 1-js/10-es-modern/16-fetch/user.json | 4 + .../10-es-modern/16-generator/genYield2-3.png | Bin 29911 -> 0 bytes .../16-generator/genYield2-3@2x.png | Bin 67001 -> 0 bytes .../{16-generator => 17-generator}/article.md | 117 +++++++++++++++++- .../genYield2-2.png | Bin .../genYield2-2@2x.png | Bin .../10-es-modern/17-generator/genYield2-3.png | Bin 0 -> 29884 bytes .../17-generator/genYield2-3@2x.png | Bin 0 -> 67176 bytes .../genYield2.png | Bin .../genYield2@2x.png | Bin .../generateSequence-1.png | Bin .../generateSequence-1@2x.png | Bin .../generateSequence-2.png | Bin .../generateSequence-2@2x.png | Bin .../generateSequence-3.png | Bin .../generateSequence-3@2x.png | Bin .../generateSequence-4.png | Bin .../generateSequence-4@2x.png | Bin 1-js/10-es-modern/17-generator/user.json | 4 + 4-ajax/14-ajax-summary/article.md | 108 ---------------- figures.sketch | Bin 10813440 -> 10813440 bytes 22 files changed, 155 insertions(+), 109 deletions(-) create mode 100644 1-js/10-es-modern/16-fetch/article.md create mode 100644 1-js/10-es-modern/16-fetch/user.json delete mode 100644 1-js/10-es-modern/16-generator/genYield2-3.png delete mode 100644 1-js/10-es-modern/16-generator/genYield2-3@2x.png rename 1-js/10-es-modern/{16-generator => 17-generator}/article.md (80%) rename 1-js/10-es-modern/{16-generator => 17-generator}/genYield2-2.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/genYield2-2@2x.png (100%) create mode 100644 1-js/10-es-modern/17-generator/genYield2-3.png create mode 100644 1-js/10-es-modern/17-generator/genYield2-3@2x.png rename 1-js/10-es-modern/{16-generator => 17-generator}/genYield2.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/genYield2@2x.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-1.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-1@2x.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-2.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-2@2x.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-3.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-3@2x.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-4.png (100%) rename 1-js/10-es-modern/{16-generator => 17-generator}/generateSequence-4@2x.png (100%) create mode 100644 1-js/10-es-modern/17-generator/user.json delete mode 100644 4-ajax/14-ajax-summary/article.md diff --git a/1-js/10-es-modern/16-fetch/article.md b/1-js/10-es-modern/16-fetch/article.md new file mode 100644 index 00000000..ae37e977 --- /dev/null +++ b/1-js/10-es-modern/16-fetch/article.md @@ -0,0 +1,31 @@ + +# AJAX-запросы: fetch + +Метод [fetch](https://fetch.spec.whatwg.org/) -- это `XMLHttpRequest` нового поколения. Он предоставляет улучшенный интерфейс для осуществления запросов к серверу: как по части возможностей и контроля над происходящим, так и по синтаксису, так как построен на промисах. + +Поддержка в браузерах пока не очень распространена, но есть [полифилл](https://github.com/github/fetch) и не один. + +## Использование + +Синтаксис: + +Начнём сразу с примера: + +```js +//+ run +'use strict'; + +fetch('/article/fetch/user.json') + .then( response => { + alert(response.headers.get('Content-Type')); // text/html; charset=utf-8 + + return response.json(); + }) + .then( user => alert(user.name) ) // iliakan + .catch( alert ); +``` + +Поток такой: + +