for 루프에서 비동기 요청의 순서가 일관되지 않는 문제를 해결합니다.
for 루프에서 비동기 요청 순서가 일관되지 않는 문제 해결
직장에서 문제가 발생했습니다
For 루프를 사용하고 루프된 ID로 두 번째 요청을 합니다
이로 인해 문제가 발생합니다
요청 결과 반환 순서가 일관되지 않습니다
이유: 비동기 요청은 콜백 이벤트를 마이크로태스크 이벤트 대기열에 넣고 매크로태스크가 실행된 후에 마이크로태스크가 실행됩니다. 자세한 내용은 이벤트 대기열 메커니즘을 참조하세요
[관련] 추천 과정: JavaScript 비디오 튜토리얼]
해결책:
map 메서드를 통해 루프 요청을 만듭니다.
비동기 요청 메서드를 캡슐화하고 promise
를 반환합니다. 이렇게 하면 여러 개의 배열이 반환됩니다. promise
through promise.all() 메소드는 promise를 새로운 promise 인스턴스
// 通过Promise把所有的异步请求放进事件队列中 getInfo(item ,index) { const ms = 1000 * Math.ceil(Math.random() * 3) return new Promise((resolve,reject) => { setTimeout(() => { axios.get(id).then((result) => { resolve(result) }) }, ms) }) } // 返回多个promise let promise = arr.map((item,index) = > { arr.forEach((item, index) => { return getInfo(item, index) }) }) // 对返回的promise数组进行操作 Peomise.all(promise).then((allData) => { arr.forEach((item, index) => { // ...... }) })
로 패키지화합니다. 이 글은 js tutorial 칼럼에서 가져온 것입니다. 배우신 것을 환영합니다!
위 내용은 for 루프에서 비동기 요청의 순서가 일관되지 않는 문제를 해결합니다.의 상세 내용입니다. 자세한 내용은 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)

뜨거운 주제











Kernelsecuritycheckfailure(커널 검사 실패)는 비교적 일반적인 유형의 중지 코드입니다. 그러나 이유가 무엇이든 블루 스크린 오류로 인해 많은 사용자가 매우 괴로워합니다. 이 사이트에서는 사용자에게 17가지 유형을 주의 깊게 소개합니다. kernel_security_check_failure 블루 스크린에 대한 17가지 솔루션 방법 1: 모든 외부 장치 제거 사용 중인 외부 장치가 Windows 버전과 호환되지 않으면 Kernelsecuritycheckfailure 블루 스크린 오류가 발생할 수 있습니다. 이렇게 하려면 컴퓨터를 다시 시작하기 전에 모든 외부 장치를 분리해야 합니다.

웹 애플리케이션이 계속 개발되고 변화함에 따라 병렬 및 비동기 요청 처리는 PHP 백엔드 API 개발에서 중요한 주제가 되었습니다. 기존 PHP 애플리케이션에서는 요청이 동기식으로 수행됩니다. 즉, 요청은 응답이 수신될 때까지 대기하며 이는 애플리케이션의 응답 속도와 성능에 영향을 미칩니다. 그러나 이제 PHP에는 병렬 및 비동기 요청을 처리할 수 있는 기능이 있습니다. 이러한 기능을 통해 많은 수의 동시 요청을 더 잘 처리하고 애플리케이션의 응답 속도와 성능을 향상시킬 수 있습니다. 이 기사에서는 PHP 백엔드 API 개발을 처리하는 방법에 대해 설명합니다.

Vue 개발에서 비동기 요청 데이터의 실시간 업데이트 문제를 해결하는 방법 프런트 엔드 기술이 발전함에 따라 점점 더 많은 웹 애플리케이션이 사용자 경험과 페이지 성능을 향상시키기 위해 비동기 요청 데이터를 사용합니다. Vue 개발에서는 비동기 요청 데이터의 실시간 업데이트 문제를 해결하는 방법이 핵심 과제입니다. 실시간 업데이트는 비동기적으로 요청된 데이터가 변경되면 페이지가 자동으로 업데이트되어 최신 데이터를 표시할 수 있음을 의미합니다. Vue에는 비동기 데이터의 실시간 업데이트를 달성하기 위한 여러 솔루션이 있습니다. 1. Vue를 사용한 반응형 머신

Win10 스카이프를 제거할 수 있습니까? 이것은 많은 사용자가 알고 싶어하는 질문입니다. 많은 사용자가 이 응용 프로그램이 컴퓨터의 기본 프로그램에 포함되어 있고 이를 삭제하면 시스템 작동에 영향을 미칠 것이라고 걱정하기 때문입니다. 이 웹사이트 도움말 사용자 Win10에서 비즈니스용 Skype를 제거하는 방법을 자세히 살펴보겠습니다. Win10에서 비즈니스용 Skype를 제거하는 방법 1. 컴퓨터 바탕 화면에서 Windows 아이콘을 클릭한 다음 설정 아이콘을 클릭하여 들어갑니다. 2. "적용"을 클릭하세요. 3. 검색창에 "Skype"를 입력하고 검색된 결과를 클릭하여 선택하세요. 4. "제거"를 클릭하세요. 5

for를 사용하여 n 계승을 찾는 방법: 1. "for (var i=1;i<=n;i++){}" 문을 사용하여 루프 순회 범위를 "1~n"으로 제어합니다. 2. 루프에서; body에서는 "cj *=i"를 사용합니다. 1부터 n까지의 숫자를 곱하고 그 결과를 변수 cj에 할당합니다. 3. 루프가 끝나면 변수 cj의 값이 n의 계승이 되어 출력됩니다.

차이점: 1. for는 인덱스를 통해 각 데이터 요소를 반복하는 반면 forEach는 JS 기본 프로그램을 통해 배열의 데이터 요소를 반복합니다. 2. for는 break 키워드를 통해 루프 실행을 종료할 수 있지만 forEach는 그렇지 않습니다. for는 루프 변수의 값을 제어하여 루프 실행을 제어할 수 있지만 forEach는 루프 외부에서 루프 변수를 호출할 수 없지만 forEach는 루프 외부에서 루프 변수를 호출할 수 없습니다. forEach보다 높습니다.

UniApp 오류: 'xxx' 비동기 요청 실패 솔루션 모바일 애플리케이션의 급속한 발전과 함께 크로스 플랫폼 개발 프레임워크인 UniApp은 개발자들 사이에서 점점 더 선호되고 있습니다. 그러나 다른 기술 프레임워크와 마찬가지로 UniApp에도 몇 가지 잠재적인 문제가 있습니다. 그 중 하나는 비동기 요청이 실패할 때 오류를 보고하는 문제입니다. 이 문서에서는 UniApp에서 오류: "'xxx' 비동기 요청 실패"를 보고하는 몇 가지 일반적인 이유를 소개하고 몇 가지 해결 방법을 제공합니다. 먼저 비동기 요청이 무엇인지 이해해야 합니다. U에서

오늘날의 인터넷 시대에는 많은 애플리케이션이 데이터를 얻거나 전송하기 위해 네트워크 요청을 해야 합니다. HTTP 요청은 가장 일반적으로 사용되는 네트워크 요청 방법 중 하나입니다. Go 언어에서는 표준 라이브러리의 net/http 패키지를 사용하여 HTTP 요청을 시작할 수 있지만 이로 인해 현재 코루틴이 차단됩니다. 그렇다면 Go 언어로 비동기 HTTP 요청을 구현하는 방법은 무엇입니까? 이 기사에서는 Go 언어로 비동기 HTTP 요청을 구현하는 두 가지 방법을 소개합니다. 방법 1: 고루틴 및 채널Gorout 사용
