node.js - nodejs 多线程下载图片如何做到多张图片只请求一次?
ringa_lee
ringa_lee 2017-04-17 15:31:14
0
4
483

如题。比如

http://www.xx.com/abc.jpg,很多个这样的地址。
因为是异步进行的。你每次请求之前没法判断这张图片是否已经下载获取存在过了。所以发出了很多个下载同一地址的请求。

ringa_lee
ringa_lee

ringa_lee

모든 응답(4)
小葫芦

두 가지 상황이 있습니다. 요청 전에 모든 URL이 알려져 있고 요청 전에 모든 URL이 알려지지 않았습니다.
첫 번째 상황: 먼저 요청된 이미지 URL 배열에서 중복 항목을 제거한 다음 요청을 시작합니다.
두 번째 두 번째 경우: 요청한 URL을 개체에 넣은 다음 요청되었는지 확인합니다. 요청된 경우 요청이 시작되지 않습니다.

게다가 NodeJS 자체의 메커니즘은 멀티스레드가 아닌 단일 프로세스 이벤트 루프이므로 간단한 플래그 비트를 사용하여 센티넬 메커니즘을 구현할 수 있습니다

巴扎黑

요청한 후 다시 요청하지 않더라도 요청한 다운로드가 성공할 것이라는 보장은 없습니다.

小葫芦

다운로드 후 저장되는 파일 이름도 같은가요? 동일한 경우 파일이 존재하는지 확인한 후 다운로드하세요. 이렇게 하면 반복 다운로드를 피할 수 있습니다.

阿神

md5 및 URL

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿