Javascript NodeJs中的承诺错误
我正在学习使用承诺来验证mysql。这是我的密码Javascript NodeJs中的承诺错误,javascript,mysql,node.js,Javascript,Mysql,Node.js,我正在学习使用承诺来验证mysql。这是我的密码 //main.js var valida=要求('./模/validaciones'); var valor=valida.userP(数据)。然后((行,错误)=>{ console.log(行); }); 控制台日志(valor); //valida.js var mysql=require('mysql'); exports.userP=(数据)=>{ 返回承诺=新承诺(解决、拒绝)=>{ conconnect.query(data.va
//main.js
var valida=要求('./模/validaciones');
var valor=valida.userP(数据)。然后((行,错误)=>{
console.log(行);
});
控制台日志(valor);
//valida.js
var mysql=require('mysql');
exports.userP=(数据)=>{
返回承诺=新承诺(解决、拒绝)=>{
conconnect.query(data.valida_user,(错误,行)=>{
如果(错误)拒绝(错误);
控制台日志(“有效输入”);
console.log(行);
解析(行);
});
};
};代码>这就可以了,基本上是这一行:
return promise = new Promise(resolve,reject)=>{
为此:
return new Promise ((resolve,reject) => {
完整代码如下:
//main.js
var valida=要求('./模/validaciones');
var valor=valida.userP(数据)。然后((行,错误)=>{
console.log(行);
});
控制台日志(valor);
//valida.js
var mysql=require('mysql');
exports.userP=(数据)=>{
返回新承诺((解决、拒绝)=>{
conconnect.query(data.valida_user,(错误,行)=>{
如果(错误)拒绝(错误);
控制台日志(“有效输入”);
console.log(行);
解析(行);
});
});
};代码>将代码更改为:
exports.userP = (data) => {
return new Promise((resolve, reject) => {
conection.query(data.valida_user, (error, rows) => {
if (error) return reject(error);
console.log("Entra en validacion");
console.log(rows);
resolve(rows);
});
});
};
有多处错误:
变量promise
未在任何地方定义,也不需要。你可以直接兑现诺言
您缺少了(resolve,reject)
的参数,使其成为具有多个参数的正确的arrow函数声明
在reject()
之前,您需要一个return
,这样处理将不会继续
您缺少一个关闭新承诺()
的关闭参数
相同错误返回新承诺(解析,拒绝)=>{
请阅读我的完整awnser,您需要在“新承诺”后加上双括号,它会引发相同的错误返回新承诺(解析,拒绝)=>{^^^语法错误:意外的新标记
@eleazortega-请查看我答案中的代码,因为您显示的错误不是我答案中的代码。我在第一次发布后做了一些编辑,因为我发现了更多需要修复的错误。哇,对不起,我没有全部阅读…但您是对的…现在我的代码运行了,但不要忘记查询函数中的owde console.log…只需返回一个对象=pending@EleazarOrtega-是的,这就是返回承诺的作用。使用moduleName.userP(someData)。然后(result=>{/*code在这里使用result*/})
访问数据。使用.then()
或wait
从承诺中获取数据。