JavaScript를 사용하여 비동기식 처리를 위한 다양한 방법
9322 단어 JavaScripttech
병렬 실행
수조의 각 요소를 바탕으로 비동기 처리를 병행할 때 사용
Promise.all
map
.index.ts
class ApiClient {
get(query: string) {
return new Promise((resolve, _) => setTimeout(
() => {
console.log(`run: ${query} query`)
resolve("ok")
}
, Math.random() * 1000)
)
}
}
const main = async () => {
const client = new ApiClient()
const queries = ['apple', 'banana', 'lemon', 'grape']
// 並行に非同期処理を実効
await Promise.all(queries.map(async (query) => client.get(query)))
}
main()
결과는 다음과 같다.출력은 queries
에 정의된 수조의 배열 순서와 다를 수 있습니다.$ ts-node index.ts
run: grape query
run: banana query
run: lemon query
run: apple query
순차적으로 집행하다
for 〜 of
를 사용하여 수조의 각 요소를 바탕으로 차례대로 비동기 처리를 실행한다.index.ts
class ApiClient {
get(query: string) {
return new Promise((resolve, _) => setTimeout(
() => {
console.log(`run: ${query} query`)
resolve("ok")
}
, Math.random() * 1000)
)
}
}
const main = async () => {
const client = new ApiClient()
const queries = ['apple', 'banana', 'lemon', 'grape']
// 直列に非同期処理を実効
for(const query of queries) {
await client.get(query)
}
}
main()
결과는 다음과 같다.출력은 queries
에 정의된 수조의 배열 순서와 같다.$ ts-node index.ts
run: apple query
run: banana query
run: lemon query
run: grape query
Reference
이 문제에 관하여(JavaScript를 사용하여 비동기식 처리를 위한 다양한 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ryo_kawamata/articles/promise-array텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)