curl 을 사용해 로컬에 있는 파일을 업로드하기 위해서는 다음과 같이 --upload-file(-T) 옵션을 사용하면 된다. curl --upload-file {file path} 그런데 위에서 전달받은 파일을 fetch API를 사용해 다른 API의 body로 전달하려고하면 해당 파일의 타입이 ReadableStream이라 실제 파일의 타입으로 내용이 전달되지 않는다. ReadableStream을 원하는 타입으로 전달하기 위해선 다음과 같이 처리하면 된다. const response = new Response(data as ReadableStream); // stream으로 Response 객체 생성 const text = await response.text(); fetch(url, { method:..
TL;DR(Too Long; Didn't Read). 요약. AbortController API를 사용해 응답이 반환되지 않은 비동기 요청을 취소할 수 있다. const abortController = new AbortController(); fetch(request, {signal: abortController.signal}) // signal을 설정한다. .then(doSomthing) }); abortController.abort(); // 원할 때 호출하면, signal을 등록한 요청을 취소한다. 전형적인 웹에서는 한번 요청이 시작하면 취소하는 것이 불가했고 그럴 필요성도 별로 없었다. 요청을 취소해야할 만한 상황이 발생한다면 요청 자체를 정말 필요한 때에만 수행하도록 처리하는 방식으로 다뤄왔을 ..
- Total