zoukankan      html  css  js  c++  java
  • Cannot set headers after they are sent to the client

    D:le
    ode_modulesmysqllibprotocolParser.js:80
            throw err; // Rethrow non-MySQL errors
            ^
    
    Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the cli
    ent
        at ServerResponse.setHeader (_http_outgoing.js:470:11)
        at ServerResponse.header (D:le
    ode_modulesexpresslib
    esponse.js:767:
    10)
        at ServerResponse.send (D:le
    ode_modulesexpresslib
    esponse.js:170:12
    )
        at ServerResponse.json (D:le
    ode_modulesexpresslib
    esponse.js:267:15
    )
        at ServerResponse.send (D:le
    ode_modulesexpresslib
    esponse.js:158:21
    )
        at D:le
    outescart.js:23:25
        at D:lemodelscart.js:16:14
        at Query._callback (D:lemodelsdb.js:44:22)
        at Query.Sequence.end (D:le
    ode_modulesmysqllibprotocolsequencesSe
    quence.js:88:24)
        at Query.ErrorPacket (D:le
    ode_modulesmysqllibprotocolsequencesQue
    ry.js:90:8)
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! letao@0.0.0 start: `node ./bin/www`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the letao@0.0.0 start script.
    npm ERR! This is probably not a problem with npm. There is likely additional log
    ging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:UsersadministratorAppDataRoaming
    pm-cache\_logs2018-11-28T11_00_46_4
    81Z-debug.log
    
    D:letao>

    注意其中at Query._callback (D:lemodelsdb.js:44:22)找到modelsdb.js44行

        pool.getConnection(function(err, connection) {
            if (err) {
                // callback(err);
                return callback(err);
            }
            connection.query(sqlStr, params, function(err, rows) {
                if (err) {
                    // callback(err);
                    return callback(err);
                }
                connection.release();
                callback.apply(null, arguments);//报错行44
            });
        });

    在callback(err)前加return上述错误解决了。具体原因详见参考文章。

    参考文章:

    https://stackoverflow.com/questions/7042340/error-cant-set-headers-after-they-are-sent-to-the-client
    https://cnodejs.org/topic/53774ffecbcc396349ca1155
    https://cnodejs.org/topic/5635fed78c67728402553324
    https://stackoverflow.com/questions/27658997/cant-set-headers-after-they-are-sent-on-express

  • 相关阅读:
    软件工程(2019)第二次作业
    软件工程(2019)第一次作业
    Java基础篇之Java特性
    软件工程(2019)结对编程第二次作业
    软件工程(2019)结对编程第一次作业
    软件工程(2019)第三次作业
    软件工程(2019)第二次作业
    软件工程(2019)第一次作业
    结对编程作业 2
    结对编程作业 1
  • 原文地址:https://www.cnblogs.com/codebook/p/10040501.html
Copyright © 2011-2022 走看看