노드에서 헤더 재전송 오류 가져 오기

남자 이름

다음과 같은 라우팅이 있습니다.

router.get('/blog/:title', function (req, res) {
        blog.getBlogPost(req, function (data) {
            res.render('blog', data);
        });
    });

및 기능 getBlogPost

exports.getBlogPost = function (req, callback) {

// TODO SAFE PARAM
// TODO ERR Handling

var title = req.param('title');
Blog.findOne({permaLink: title}).exec(function (err, data) {

    var date = new Date(+data.timestamp);
    data.tags = createHashtagsFromCSV(data.tags);
    data.date = month_names_long[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();

    callback(data);
});
// not found
callback({});
};

이상하게도 다음 노드 콘솔 로그가 표시됩니다.

Error: Can't set headers after they are sent.
    at ServerResponse.OutgoingMessage.setHeader (http.js:689:11)
    at ServerResponse.header (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\response.js:662:10)
    at ServerResponse.send (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\response.js:146:12)
    at fn (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\response.js:896:10)
    at View.exports.renderFile [as engine] (C:\Users\Michael\Desktop\qcode\node_modules\jade\lib\jade.js:325:12)
    at View.render (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\view.js:76:8)
    at Function.app.render (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\application.js:527:10)
    at ServerResponse.res.render (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\response.js:900:7)
    at module.exports (C:\Users\Michael\Desktop\qcode\app.js:65:9)
    at Layer.handle_error (C:\Users\Michael\Desktop\qcode\node_modules\express\lib\router\layer.js:58:5)

내 프로젝트에서 이미 이와 같은 작업을 몇 번 수행했지만 이번에는이 오류가 발생하고 이제 그 이유를 알 수 있습니까? 왜 그런지 아세요?

Rax Wunter

콜백이 두 번 호출됩니다. 그래서 두 번째는 헤더 오류를 던집니다.

다음과 같이 만드십시오.

Blog.findOne({permaLink: title}).exec(function (err, data) {

    if (!data) {
       callback({});
       return;
    }

    var date = new Date(+data.timestamp);
    data.tags = createHashtagsFromCSV(data.tags);
    data.date = month_names_long[date.getMonth()] + " " + date.getDate() + ", " + date.getFullYear();

    callback(data);
});

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Swift에서 ObjC 헤더 전용 가져 오기 : 해당 모듈 오류 없음

분류에서Dev

Swift에서 C 헤더 가져 오기

분류에서Dev

Scala에서 Json 헤드 노드 값 가져 오기

분류에서Dev

헤더 PHP 목록에서 메소드 가져 오기

분류에서Dev

구성 요소를로드하기 전에 헤더에서 인증 토큰 가져 오기

분류에서Dev

임의의 행에서 팬더의 CSV 헤더 가져 오기

분류에서Dev

Tornado 요청 핸들러에 설정된 현재 응답 헤더 가져 오기

분류에서Dev

Windows에서 현재 스레드의 NUMA 노드 가져 오기

분류에서Dev

WebP 파일 헤더에서 파일 크기 가져 오기

분류에서Dev

블렌더 프레임 노드에서 내부 노드 가져 오기

분류에서Dev

헤더가있는 Matlab에서 파일 가져 오기

분류에서Dev

CI에서 컴파일 할 때 헤더 파일에서 가져 오기 오류가 발생합니다.

분류에서Dev

PHP 오류 헤더가 공백이나 이전 에코없이 이미 전송되었습니다. 인쇄

분류에서Dev

Content-Length 헤더를 사용하지 않고 다운로드하기 전에 파일 크기 가져 오기

분류에서Dev

BASH에서 C 함수의 헤더 가져 오기

분류에서Dev

QHeaderView에서 헤더 섹션 텍스트 가져 오기

분류에서Dev

BASH에서 C 함수의 헤더 가져 오기

분류에서Dev

테이블 헤더에서 열 요소 가져 오기

분류에서Dev

Authorization HTTP 헤더에서 인증 토큰 값 가져 오기

분류에서Dev

HTTP 응답에서 헤더 가져 오기

분류에서Dev

트리거에서 apex 페이지 헤더 가져 오기

분류에서Dev

NSDate에서 UITableView 헤더 제목 가져 오기

분류에서Dev

Firefox Addon에서 HTTP 응답 헤더 가져 오기

분류에서Dev

여러 tsv / csv 파일에서 헤더 가져 오기

분류에서Dev

AFNetworking Swift의 헤더 응답에서 토큰 값 가져 오기

분류에서Dev

pandas의 데이터에서 헤더 가져 오기

분류에서Dev

R에서 엑셀 헤더 가져 오기

분류에서Dev

내 CSVWriter (CsvHelper)에서 잘못된 헤더 가져 오기

분류에서Dev

R 헤더에 쉼표가 누락 된 CSV 가져 오기

Related 관련 기사

  1. 1

    Swift에서 ObjC 헤더 전용 가져 오기 : 해당 모듈 오류 없음

  2. 2

    Swift에서 C 헤더 가져 오기

  3. 3

    Scala에서 Json 헤드 노드 값 가져 오기

  4. 4

    헤더 PHP 목록에서 메소드 가져 오기

  5. 5

    구성 요소를로드하기 전에 헤더에서 인증 토큰 가져 오기

  6. 6

    임의의 행에서 팬더의 CSV 헤더 가져 오기

  7. 7

    Tornado 요청 핸들러에 설정된 현재 응답 헤더 가져 오기

  8. 8

    Windows에서 현재 스레드의 NUMA 노드 가져 오기

  9. 9

    WebP 파일 헤더에서 파일 크기 가져 오기

  10. 10

    블렌더 프레임 노드에서 내부 노드 가져 오기

  11. 11

    헤더가있는 Matlab에서 파일 가져 오기

  12. 12

    CI에서 컴파일 할 때 헤더 파일에서 가져 오기 오류가 발생합니다.

  13. 13

    PHP 오류 헤더가 공백이나 이전 에코없이 이미 전송되었습니다. 인쇄

  14. 14

    Content-Length 헤더를 사용하지 않고 다운로드하기 전에 파일 크기 가져 오기

  15. 15

    BASH에서 C 함수의 헤더 가져 오기

  16. 16

    QHeaderView에서 헤더 섹션 텍스트 가져 오기

  17. 17

    BASH에서 C 함수의 헤더 가져 오기

  18. 18

    테이블 헤더에서 열 요소 가져 오기

  19. 19

    Authorization HTTP 헤더에서 인증 토큰 값 가져 오기

  20. 20

    HTTP 응답에서 헤더 가져 오기

  21. 21

    트리거에서 apex 페이지 헤더 가져 오기

  22. 22

    NSDate에서 UITableView 헤더 제목 가져 오기

  23. 23

    Firefox Addon에서 HTTP 응답 헤더 가져 오기

  24. 24

    여러 tsv / csv 파일에서 헤더 가져 오기

  25. 25

    AFNetworking Swift의 헤더 응답에서 토큰 값 가져 오기

  26. 26

    pandas의 데이터에서 헤더 가져 오기

  27. 27

    R에서 엑셀 헤더 가져 오기

  28. 28

    내 CSVWriter (CsvHelper)에서 잘못된 헤더 가져 오기

  29. 29

    R 헤더에 쉼표가 누락 된 CSV 가져 오기

뜨겁다태그

보관