인프런 커뮤니티 질문&답변
25강에서 자바스크립트 코드를 사용하면 타임아웃 에러 납니다.
해결된 질문
작성
·
35
0
// 1) 모든 입력 아이템의 json을 순서대로 병합
let merged = {};
for (const item of $input.all()) {
Object.assign(merged, item.json);
}
// 2) 'IMG - 시트 행 가져오기' 노드의 첫 번째 아이템에서 ID를 가져와 추가
merged.ID = $('IMG - 시트 행 가져오기').first().json.ID
return [{
json: merged
}];
코드 사용했을때 60초 이상 실행되어 타임아웃 에러가 납니다.
메시지 :
Problem in node ‘Code in JavaScript‘
Task request timed out after 60 seconds
답변 2








안녕하세요 lkw2222님
말씀하신대로 n8n 오류인거 같습니다.
해결법이 2가지가 있는데요.
방법1) 간단한 해결법은 제생각에 아이디를 새로 만드시는게 편하실거 같습니다. 그래서 다시 실행하면 아마 실행되실거 같아요 뭔가 계정에 제대로 Javascript 런타임이 배당되지 않는거 같습니다. 이런 유형의 에러는 lkw2222님 처음 주신거라 아마 새로 만들면 괜찮지 않을까 싶습니다.
방법2) 파이썬으로 바꾸는 법을 알려드릴게요.
일단 파이썬 코드에서 2가지를 바꾸셔야 됩니다.
아래 사진 처럼 items앞에 '_' 언더스코어를 넣어주세요
for item in items: -> for item in _items:
merged["ID"] = _('IMG - 시트 행 가져오기').first().json.ID
이 라인은 삭제하거나 '#'을 붙여서 주석처리 해주세요(파이썬에서는 이제 앞의 노드의 값을 못가져오게 되어서 이 코드가 실행되지 못합니다.)
아래 사진처럼 파이썬 코드 노드 뒤에 Edit Fields 노드를 하나 추가해주세요.
코드에서 삭제(혹은 주석처리)했던 기능을 여기서 추가할겁니다.
ID를 추가해줄거에요
아래 사진처럼
ID를 만들고
{{ $('IMG - 시트 행 가져오기').first().json.ID }}
이렇게 입력해주세요
그리고
Include Other Input Fields 를 꼭 On으로 바꿔주세요
이렇게 하면 잘 실행되실거에요
혹시 하나하나 따라하기 힘드실까보 JSON도 첨부해드립니다. 위에껄 따라하기 힘드시면 그냥 아래 코드 복사해서 n8n에 붙여넣기 하면 노드가 자동으로 생길거에요
또한 뒤에 Video생성 쪽도 Image와 완전히 동일한 작업 흐름이기 때문에 거기서도 에러가 나신다면 똑같이 해주시면 해결되실거에요
감사합니다. 나머지 강의도 재밌게 수강해주세요~