JS async 함수 의 의미 와 용법 인 스 턴 스 총화

2735 단어 JSasync함수.
본 논문 의 사례 는 JS async 함수 의 의미 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
선생님 의 마지막 문장 을 배우 고 총 결 을 한다.
앞에서 우 리 는 각종 비동기 프로 그래 밍 방식 을 알 게 되 었 다.리 셋 함수,Promise 대상,Generator 함수,
두 가지 자동 실행 방식:Thunk,co
우 리 는 비동기 프로 그래 밍 을 잘 해결 하기 위해 많은 일 을 한 것 같다.
근 데 이것 도 문 제 를 설명 하 는 거 예요.
바로 현재 여전히 비동기 프로 그래 밍 에 다소 의 문제 가 있 기 때문에 우 리 는 대응 하 는 해결 방안 을 찾 아야 한다.
오늘 우 리 는 여전히 마지막 방법:async
이 키 워드 를 어디서 봤 지?
스 크 립 트 탭 에 async 속성 을 추가 하여 스 크 립 트 를 비동기 로 실행 할 수 있 습 니 다.
ajax 는 async 설정 을 통 해 동기 화/비동기 요청 을 설정 할 수 있 습 니 다.
오늘 우 리 는 여전히 새로운 사용 방식:async 함수
아니면 앞에서 파일 을 읽 는 예 를 참고 하 십시오:

var gen = function* (){
 var f1 = yield readFile('/etc/fstab');
 var f2 = yield readFile('/etc/shells');
 console.log(f1.toString());
 console.log(f2.toString());
};

우 리 는 그 에 게 두 가지 해결 방안 을 만 들 었 다.Thunk 와 co.
이 두 가지 방식 은 자동 실행 기 를 실현 하기 위해 단독 모듈 을 도입 해 야 한다.
그리고 yield 의 귀환 결과 에 대해 엄격 한 요구 가 있 습 니 다.
async 함수 가 이 문 제 를 잘 해결 했다.
먼저 async 함수 가 위의 코드 를 어떻게 실현 하 는 지 보 세 요.

var asyncReadFile = async function (){
 var f1 = await readFile('/etc/fstab');
 var f2 = await readFile('/etc/shells');
 console.log(f1.toString());
 console.log(f2.toString());
};

이전*를 async 로,yield 를 await 로 바 꿨 을 뿐 입 니 다.
async 자체 실행 기 때문에 Thunk 와 co 를 쓸 필요 가 없습니다.
우리 도 await 뒤의 반환 값 을 제한 할 필요 가 없습니다.왜냐하면 async 는 스스로 식별 하기 때 문 입 니 다.
Promise 대상 이 라면 비동기 처리 하고,원본 형식 은 동기 화 처리 합 니 다.
가장 복잡 한 두 코드 async 가 모두 우 리 를 도와 실현 되 었 다.
그러나 아무리 변해 도 그 근본 을 떠 나 지 않 는 다.
async 함 수 는 사실 앞의 Generator 함수 와 자동 실행 함 수 를 한 조각 에 포장 합 니 다.
다만 우리 가 사용 하 는 복잡 도 를 줄 였 을 뿐 실제 논 리 는 조금도 적지 않다.
사용 방식 도 이전 co 의 사용 방식 과 유사 하 다.
그래서 저희 가 마지막 으로 async 를 사용 할 때 주의해 야 할 점 을 나열 해 보도 록 하 겠 습 니 다.
  • await 명령 뒤에 있 는 Promise 대상 이 이상 을 던 질 수 있 으 므 로 catch 이상
  • await 명령 은 async 함수 내부 에 만 사용 할 수 있 고 다른 위치 에 사용 하면 오류 가 발생 합 니 다
  • Promise.all 을 사용 하여 퀘 스 트 를 동시에 수행 할 수 있 습 니 다
  • 이로써 선생님 의 비동기 프로 그래 밍 4 부작 은 공 부 를 마 쳤 다.
    다시 한 번 말씀 드 리 지만 본 블 로그 의 글 은 개인 학습 에 만 적용 되 며 어떠한 형식의 전재 도 허용 되 지 않 습 니 다.
    전재 가 필요 하 시 면 완 일 봉 선생님 의 블 로 그 를 옮 겨 주세요.
    마지막 으로 원문 주소 첨부:async 함수 의 의미 와 용법
    관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.http://tools.jb51.net/code/HtmlJsRun상기 코드 실행 효 과 를 테스트 할 수 있 습 니 다.
    더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.
    본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

    좋은 웹페이지 즐겨찾기