.그 다음에()

4090 단어
이것은 창피할 정도로 기본적인 포스트가 될 것입니다. 약속과 콜백과 같은 몇 가지 기본 사항에 관한 기본적입니다.

기술 부채에 대해 이야기하고 싶습니까? 내 목록은 1마일 길이지만 바닥 근처 어딘가(바닥에 묻힌 것처럼)에는 다음과 같은 비동기 함수 및 도구/주제가 있습니다.
  • 약속
  • 비동기/대기
  • 콜백
  • 그리고 더 많은

  • HR에서는 일이 빠르게 진행되고 순수한 연구나 검토를 위한 시간을 따로 두기 어렵습니다. 예를 들어, 약속에 대한 나의 이해는 최소한의 것 이상으로 발전하지 않았습니다. 내 말은 실제 최소값을 의미합니다. 내가 원하는 것을 얻기 위해 근처에 코드를 던질 수 있습니까?

    요전에 헬프 데스크에서 문제를 디버깅하고 있었습니다. 양식 제출 후 내 페이지를 리디렉션하는 데 어려움을 겪고 있었고(문제는 이벤트 처리기에서 preventDefault()를 사용하지 않았기 때문에 발생했습니다.) 우리는 이 문제를 해결하기 위해 노력하고 있었습니다. 그 경로를 따라 어딘가에서 내 대담자는 우리가 조사하고 있던 일부 코드에서 안티 패턴을 지적하기 위해 잠시 멈췄습니다. 코드는 기능적이었지만 결함이 있었습니다.

    다음과 같은 도우미 기능을 사용하여 http 요청을 했습니다.

    
    const helper = (some_param, callback) => {
    
    axios.post('http://url.com')
     .then(res => callback(null, res.data))
     .catch(err=> callback(err, null))
    
    }
    


    그렇군요.

    나는 왜 이런 기능을 구축했을까? 일단 효과가 있었습니다. 그리고 그것이 정말로 전체 목록입니다.

    처음으로 비동기를 시작했을 때 jQuery의 .ajax 도구를 사용하여 http 요청을 하고 있었고 해당 컨텍스트에서 콜백을 사용하는 것이 점점 편해졌습니다.

    얼마 지나지 않아 - 내 말은, 만약 그렇다면 - 약속이 혼합에 들어갔다는 것을 의미합니다. .ajax보다 .axios를 선호하는 팀에 합류하기 전에는 그들과 함께 세미 딥 스터디를 한 적이 없었습니다. .axios는 prmoises를 반환하고, 나는 그들을 처음 접하는 친구에게 내가 ajax 호출을 axios로 변환하는 데 직면한 문제를 어떻게 처리할 것인지 물었습니다. 그는 위의 코드에서 내가 시연한 모델을 제안했습니다. 그리고 효과가 있었습니다. 그래서 그때부터 사용하고 있었습니다.

    긴 이야기로 만들겠습니다.

    다음은 헬프 데스크 도우미가 나에게 시킨 일이며 그 이후로 매우 쉽게 사용하고 있습니다.

    
    const helper = (some_param) => {
      return axios.post('http://url.com')
    }
    


    그런 다음 도우미를 호출하는 함수에서 다음을 수행합니다.

    
    reactEventHandler(param) => {
      helper(param)
       .this(res => setStatePerhaps(res.data)
       .catch(err=> callback(err, null))
    }
    


    이것은 정말로 표면 수준의 물건입니다. 그러나 나는 그것을 작은 승리라고 부를 것입니다. 그리고 승리는 승리입니다.

    좋은 웹페이지 즐겨찾기