gpt4 book ai didi

javascript - 引用错误: error is not defined when pass callback parameter

转载 作者:行者123 更新时间:2023-11-29 06:48:40 32 4
gpt4 key购买 nike

当我尝试调用回调方法时,仅当先前定义了回调函数时,我的参数才未定义。将参数传递给先前声明的方法的正确方法是什么?

var mysql      = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'root',
database : 'database'
});

function doQuery(query, callback){
connection.connect();
connection.query(query, callback(error, results,fields));
connection.end();
}

doQuery('SELECT 1 + 1 AS sum', function (){
if (error) throw error;
console.log(results[0].sum);
})
ReferenceError: error is not defined
at doQuery (/home/usr/workspace/project/code.js:11:36)
at Object.<anonymous> (/home/usr/workspace/project/code.js:15:1)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

最佳答案

您必须像这样返回回调:

function doQuery(query, callback){
connection.query(query, (error, results, fields)=> {
callback(error, results, fields);
})
}

关于javascript - 引用错误: error is not defined when pass callback parameter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48404803/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com