차단 또는 차단 안 함, 이제 질문 :차단 또는 차단 안 함 (Express.js)
서버가 임시 이미지를 저장하는 폴더 인 간단한 경로 노출입니다. 이 메서드는 이미지를 반환하고 그 것이다.
app.get('/uploads/fullsize/:file',function (req, res){
var file = req.params.file;
console.log("Crap comign from passport file: " + file)
var img = fs.readFileSync(myPath + "/uploads/fullsize/" + file);
res.writeHead(200, {'Content-Type': 'image/jpg' });
res.end(img, 'binary');
});
나는 다음 행 걱정 : 표시
var img = fs.readFileSync(myPath + "/uploads/fullsize/" + file);
동기화 호출 할 수 있습니다. 내가 비동기로 바꿀까요?
fs.readFile(req.files.file.path, function (err, imageBinaryData) {
//read code here
});
이것은 유효한 우려입니까, 아니면 과도한 반응입니까? 내가 1000 명의 동시 사용자가 같은 일을하는 경우 차단을할까요?
약속을. 이 응용 프로그램에는 너무 많은 CB가 흩어져 있습니다. 그러나 결국, 약속을 위해 응용 프로그램을 "업그레이드"해야 할 것입니다. –
가장 이해가되는 부분에 약속을 추가 할 수 있습니다. 일반적으로 콜백 지옥을 나타내는 "오른쪽으로 이동"코드가 표시되면이를 기반으로 약속을해야합니다. 또한 Q (이 예에서 보았 듯이)는 노드 스타일 콜백 코드를 약속 된 코드로 전환 할 수있게 해줍니다. 또한 Q github 페이지의 예제는 코드 콜백을 작성하고 친숙하다고 약속하는 방법을 보여줍니다. 익숙해지기 위해 약간 놀아 두는 것이 좋습니다. 그런 다음 "then"ify에 대해 이해할 수 있습니다 당신의 코드. – binarygiant
여기에 한 가지 추가 생각 ... 일반적으로 비동기 코드가 더 동기식으로 보이게하여 코드가보다 읽기 쉽게 만들어 지도록 약속하면 여러 비동기 호출을 기다려야하는 인스턴스와 같이 더 까다로운 문제도 해결할 수 있습니다. 완료하기 전에 완료하고 응답을 보냅니다. Q (다른 약속 라이브러리)는이를 성취하는데 크게 도움이 될 수 있습니다. – binarygiant