인프런 커뮤니티 질문&답변

qkekvyqja님의 프로필 이미지
qkekvyqja

작성한 질문수

Node.js로 웹 크롤링하기

5-2. dotenv로 비밀번호 관리하기

evaluate 안의 두번째, 세번째 인자

작성

·

247

0

안녕하세요. zerocho님 초보자가 강의를 따라가면서 가질 수 있는 의문들을 꼼꼼히 짚어주시고 실무에서 적용되는 예시들을 많이 알려주셔서 정말 유익하게 강의를 잘 듣고 있습니다.

<질문1>

자바스크립트에서 콜백함수 하나만을 인자로 받고 이후 인자들은 사용하지 않는 함수들의 경우, evaluate처럼 두번째, 세번째 인자들을 통해서 콜백에 인자를 전달해줄 수 있나요?

<질문2>

process.env.EMAIL을 crawler 함수 내부가 아닌 evaluate 함수 안에서 직접 적용했을 때에는 process is not defined 에러가 발생합니다.

process.env가 작동하는 스코프가 전역으로 알고 있는데 evaluate 콜백 안에서는 작동하지 않는 이유가 있나요?

기본적인 질문인 것 같아 죄송합니다..

답변 2

0

qkekvyqja님의 프로필 이미지
qkekvyqja
질문자

정말 빠른 답변 감사드립니다!

nodejs 리뉴얼부터 굉장히 도움 많이 받고 재미있게 수강하고 있습니다

완강하면 타입스크립트 강좌들도 수강할 예정입니다 고맙습니다!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

1. 아뇨 대부분은 그렇게 하지 못합니다. evaluate는 내부적으로 두번째 인수부터를 첫번째 인수 콜백 함수의 매개변수로 제공하게 프로그래밍되어있습니다. 특별한 경우입니다.

2. evaluate 함수 내부는 다른 컨텍스트에서 실행됩니다. 그래서 console.log같은 것도 먹지 않습니다.(브라우저에서 실행됩니다) 일반 자바스크립트 상식과 조금 어긋납니다. 1번 질문 방법으로 전달하셔야 합니다.

qkekvyqja님의 프로필 이미지
qkekvyqja

작성한 질문수

질문하기