[... is not iterable] find() 에서 잘못 가져올 때의 오류
별건 없는데 두번째 실수해서 적어본다. ... is not iterable 는 무언가가 배열이 아닌 값임을 말해주는 것이다. 즉, 나는 분명 배열로 뽑았는데, 배열이 아니다? 아, 안뽑혔거나, 뽑던 도중 오류가 발생했다는 말과 다름없다. async function(){ await ... } 에서, 대부분의 db CRUD 동작들은 promise 를 자동반환하여, 굳이! retrun을 안해도 외부에서 값에 담긴다. 하지만, static을 써서 그런지, 초기화 되지 않은 사용자함수를 사용할 때에는 (new를 쓰지 않는), 값이 promise를 반환하지 않아서, 반드시 return으로 값을 반환해야한다.
2022. 9. 27.
[res.locals.csrfToken] 난관에 봉착했다. csrf 토큰이 한쪽 controller에만 먹는다
MVC 패턴 리팩토링중... VIEW는 이미 리팩토링 하며 하고있었고, MODEL과 CONTROLLER는 완성시켜, 마무리단계로 CONFIG들을 조금씩 처리중에 있었다. 그런데 무한정 생성해놓은 오류페이지로 넘어가기 시작했다. 물론, VSCODE의 오류는 없이. 그렇다면, 모든 오류를 캡쳐하기 위해, 생성해놓은 오류페이지로 렌더된다는 것인데, 최근에 바꾼것이라곤, res.locals.csrfToken 으로, 라우트에서 따로 토큰을 부여하지않고, app.js 에서 모든 페이지에 한번에 적용하기 위한, 방책이었다. 그런데, 만들어 놓은 controller 2개 중, 한쪽의 controller에만 이게 적용되고 나머지 하나는, render할때마다 csrf 토큰 에러가 발생한다. 결론부터 말하자면, 이유는 모르..
2022. 9. 17.