매운만두맥주
1k
2020-11-05 22:55:36
16
723

요즘도 Ajax 기능 제이쿼리로 쓰나요??


아니면  fetch()나 바닐라 XMLHttpRequest로 해서 짜나요??


0
  • 답변 16

  • ISA
    3k
    2020-11-05 23:08:24

    Fetch 나 axios로 통신하고

    Async await씁니다.

  • 매운만두맥주
    1k
    2020-11-05 23:14:35

    ISA

    그럼 제이쿼리 Ajax는 거의 안 쓰는건가요..?

    xml이나 JSON 쓴다는건 똑같죠? 다시 배워야하나..


  • jw_891
    232
    2020-11-05 23:25:02

    회사마다 달라요. 제이쿼리 쓰는 데 아직 많음. 글쓴 분 목표 회사가 제이쿼리 안쓰는 데면 라이브러리 경험한셈 치고 구직회사 기술스텍 공부하심 돼요

  • ISA
    3k
    2020-11-05 23:48:23

    매운만두맥주 //

    딱히 배워야할거라고는 없습니다. Async await정도는 알아두면 좋겠죠. Fetch나 xmlHTTP나 jquery ajax나 axios 전부 비동기 통신을 위한 수단일 뿐이고 별차이도 없습니다.

    프로미스와 async await가 비동기 로직 처리를 위해서 알아둬야할 개념인데 프로미스는 잘쓰이지도 않는 편이고(async await가 더 편하고 깔끔해서)

    나머지야 사실 그냥 검색해서 페이지 한장씩 보면 되니 배우고 말고 할것도 없죠... 코어단 까지 가서 직접 네이티브로 구현 하실거 아닌 이상은요. 사실 사용법도 비슷합니다.

    Xml보다는 json이 여러점에서 좋아서 많이 쓰이는 추세이긴 합니다만 이것도 딱히... 그냥 그래요. 지금 검색해서 대략보시면 별거없이 다 비슷하다는 걸 느끼실거에요...


  • Mambo
    5k
    2020-11-05 23:49:42

    https://www.npmtrends.com/axios-vs-fetch-vs-jquery

  • 매운만두맥주
    1k
    2020-11-06 00:14:04
    오... 답변 감사합니다..!
  • dlalskwk2
    376
    2020-11-06 00:31:00

    axios 는 노드js에서 쓰고 제이쿼리는 주로 스프링에서 쓰지 않나요?

    -2
  • 내꿈은오로라
    125
    2020-11-06 00:38:22

    fetch는 사용을 잘 안하나보네요?..

    axios가 압도적이네

  • zepinos
    20k
    2020-11-06 01:44:49

    동기 통신을 써야할 경우...조금 짜증나서 아직은 jquery Ajax 을 주로 이용합니다.

  • kenu
    50k
    2020-11-06 05:12:09
    해당 게시물은 관리자에 의해 사는얘기에서 Tech Q&A로 이동 되었습니다.
  • ISA
    3k
    2020-11-06 17:38:11
    뭔가 맛탱이간 상태라서 하나 잘못된 정보를 전달한게 있다면.
    Promise를 잘 쓰지 않는다 정도 입니다.
    정확히는 promise만 써서 then이나 resolve reject으로 처리하는 경우가 드물다입니다.
    Async await는 프로미스를 반환합니다.

    Axios는 프론트엔드에서 애용하는 ajax를 위한 라이브러리이고 fetch는 기존에 여러 문제가 많았고 부족한 부분이 많았는지라 잘사용하진 않지만 js의 정식 api중 하나입니다.
    그래서 리액트 네이티브에서 주로 쓰입니다.
    Axios와 의 버전호환성 문제로 인한 이유이고 비슷한 문제를 가진 곳에서는 Axios대신 fetch를 주로씁니다.



  • 내꿈은오로라
    125
    2020-11-07 00:19:19

    async await가 프로미스를 반환하니까 Promise 클래스는 잘 사용을 안하는군요.


    axios와 fetch 차이점 알려주셔서 감사합니다.

  • zepinos
    20k
    2020-11-07 00:57:22

    sync 가 필요할 때도 있습니다. 응답 오기 전까지 freezing 상태를 만들 필요가 있을 때...가 대표적이죠.

  • ISA
    3k
    2020-11-07 01:42:46

    Zepinos //

    동기 통신이라는게 어떤 건지 잘 모르겠습니다

    Async await 와 프로미스

    혹시 해당 링크의 내용을 보시고도 말하시는 목적을 충족시키기 힘들다고 느끼시는지 확인해보시는게 좋을거 같습니다

  • zepinos
    20k
    2020-11-07 03:02:10 작성 2020-11-07 03:03:40 수정됨

    ISA  님 //

    $.ajax({

      async: false,

      ...
    });

    와 같이 비동기를 쓰지 않는다(=동기를 쓴다)는 옵션이 있습니다. jquery 1.8 이상에선가부터 deprecated 되었을 겁니다. 사용자 경험을 떨어뜨리는 것은 맞지만 개발자가 유효성이나 순서보장 등을 위해서 골머리를 덜썩어도 된다는 장점이 있기 때문에 필요악 같은 개념으로 가끔 쓸 때가 있습니다. 주로 loop 안에서 여러번 ajax 을 호출한다던지, 아니면 ajax 통신 도중 화면 동작을 아예 멈춰버려야 할 때 등...await 로는 동일하게 구현이 안될 때가 있었던 걸로 기억합니다.

  • ISA
    3k
    2020-11-07 15:43:07 작성 2020-11-07 15:44:18 수정됨

    Zepinos //

    Xmlhttp에 있는 async sync옵션을 말하시는거면 솔직히 안써봤고 네이티브 코드는 뜯어 보지 않아서 뭔차이가 있는지 잘 모르겠습니다.(제이쿼리도 결국 바닐라 기반 라이브러리의 일종이라 구현에는 xml을 사용하는 것)

    일반적으로 async await는 비동기를 동기처럼 처리하기 편하게 하기 위해서 쓰는거라 동기니 비동기니 하는건 그렇게 중요한 편은 아니고 async await의 경우 기존 js api와 일반 함수 같은 것에 중첩해서 쓸 수 있기에 async fc 안에 async fc을 쓰는 방식이 가능합니다. 그래서 많이 특이한 경우가 아니라면 해당 이슈가 잘 발생하진 않습니다.(사실 전 그런 경우를 경험해보진 못했습니다.)

    새로 추가된 FP식 api와 기존 프로토타입 메서드들을 결합해서 쓸 경우 가끔 로직상 꼬임이 발생하는 것도 맞긴하니(이건 조금 딥한 부분들이 꼬이는거라 생략..) 그 정도로 이해가 되긴하네요.

    즐거운 주말되세요.

  • 로그인을 하시면 답변 을 등록할 수 있습니다.