Если вы когда-либо использовали Promises раньше, возможно, в какой-то момент у вас возникали те же сомнения, что и у меня.

Я работал с Promises, .then(), а также async/await в живых проектах несколько раз. И хотя я понимаю общую концепцию (концепции), я все еще немного запутался в следующий раз, когда мне придется их использовать, и в конечном итоге мне придется искать их документацию или даже искать конкретные решения на StackOverflow.

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

ChatGPT в помощь

Сегодня я наткнулся на случайный пример запроса на ChatGPT — «Как мне сделать HTTP-запрос в Javascript?»

И угадайте, куда это меня привело —

Это второе изображение вызвало мое любопытство. И я начал углубляться в кроличью нору —

А вы бы посмотрели на это! Он автоматически сгенерировал функцию-оболочку getData(), чтобы можно было обернуть fetch с async/await. Что-то, что не было необходимо для синтаксиса .then().

Поэтому, очевидно, я попросил его сделать это, чтобы лучше понять его.

Прохладный. Но теперь у меня появилось больше вопросов:

Теперь мне было любопытно увидеть .then вариант того же

Хорошо… но как мне получить значение data на верхнем уровне?

Хорошо, это здорово и все такое, но мне пришлось следовать синтаксису async/await в качестве стандарта вместе с устаревшим кодом, который вместо этого использовал синтаксис .then(). Что тогда?

Понятно. А что, если бы все перевернулось? Если бы мне нужно было использовать .then() вне уже существующей функции async/await?

Удивительный! Это проясняет мне концепцию на многих уровнях!

И я также ценю рекомендации по поводу того, чтобы не смешивать оба этих синтаксиса, чтобы код оставался простым, легким для чтения и сопровождения.

Еда на вынос

Весь этот разговор был блестящим опытом лично для меня, потому что я чувствовал, что действительно разговариваю с коллегой/наставником, чтобы помочь прояснить каждый возникающий вопрос/сомнение, которое я получил из предыдущего ответа. Так же, как я люблю учиться в реальной жизни!

И хотя нам следует опасаться, что ChatGPT не всегда может дать нам правильный/правильный ответ (точно так же, как любой реальный человек не будет знать все), здесь определенно есть большой неоспоримый потенциал. уже.

Я знаю, что определенно буду использовать его в будущем. Но, вероятно, я также буду читать официальные документы / stackoverflow, чтобы проверить свое понимание. И я рекомендую вам сделать то же самое.

Были ли у вас какие-нибудь интересные технические встречи с ChatGPT? Я хотел бы услышать их в комментариях!