더욱 깔끔한 비동기 JavaScript 코드를 위해 Promise를 중첩 해제하려면 어떻게 해야 합니까?
중첩된 구조를 제거하기 위한 Promise 연결
비동기 작업으로 작업할 때 Promise는 콜백을 처리하고 코드 가독성을 유지하는 편리한 방법을 제공합니다. 그러나 중첩된 Promise는 코드를 빠르게 복잡하고 따르기 어렵게 만들 수 있습니다. 이 문서에서는 중첩된 Promise를 제거하고 명확성을 높이기 위해 연결하는 방법에 대해 설명합니다.
접근 방식
중첩된 Promise를 제거하려면 각 then 콜백에서 새 Promise를 반환합니다. 이를 통해 Promise를 하나씩 연결하여 중첩된 구조가 필요하지 않게 됩니다. 다음은 제공된 코드의 수정된 버전입니다.
exports.viewFile = function(req, res) { var fileId = req.params.id; boxContentRequest('files/' + fileId + '/content', req.user.box.accessToken) .then(function(response) { return boxViewerRequest('documents', {url: response.request.href}, 'POST'); }) .then(function(response) { return boxViewerRequest('sessions', {document_id: response.body.id}, 'POST'); }) .then(function(response) { console.log(response); }); };
이 코드에서 각 콜백은 후속 요청에 대한 약속을 반환하여 실행이 순차적으로 계속되도록 합니다.
일반 패턴
Promise를 연결하는 패턴은 다음과 같습니다. 다음:
somePromise.then(function(r1) { return nextPromise.then(function(r2) { return anyValue; }); }) // resolves with anyValue || \||/ \/ somePromise.then(function(r1) { return nextPromise; }).then(function(r2) { return anyValue; }) // resolves with anyValue as well
새 Promise를 반환할 때 해당 Promise의 결과 값이 체인의 다음 핸들러로 전달됩니다. 또는 핸들러가 반환한 Promise가 체인의 마지막 Promise인 경우 해당 Promise의 확인 값이 소비자에게 전달됩니다.
위 내용은 더욱 깔끔한 비동기 JavaScript 코드를 위해 Promise를 중첩 해제하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









