gpt4 book ai didi

javascript - 使用 Promise 从函数传递数据并返回数据

转载 作者:行者123 更新时间:2023-12-03 01:53:52 25 4
gpt4 key购买 nike

我需要帮助才能兑现这一 promise 。

我只想调用一个函数并传递一个参数并返回结果。

实际上它返回未定义

function maFonctionAsynchrone(pseudo) {

var promise1 = new Promise(function(resolve, reject) {
connection.query("SELECT * FROM users WHERE MATCH (username) AGAINST ('" + pseudo + "')", function (error, results, fields) {
if (!!error) {
console.log('erreur');
reject(error)
} else {
resolve(results)
return results
}
});
});
}



app.post('/sendnewpost', function(req, res){
console.log(maFonctionAsynchrone('pseudotest'))
});

最佳答案

您没有从 maFonctionAsynchrone 函数返回 Promise 对象。

在异步函数中使用return new Promise(function(resolve,reject)

返回 Promise 后,您可以分配一个 thencatch block 来一次性获取结果 promise 是异步解决的。

检查下面的代码

function maFonctionAsynchrone(pseudo) {

return new Promise(function(resolve, reject) {
connection.query("SELECT * FROM users WHERE MATCH (username) AGAINST ('" + pseudo + "')", function (error, results, fields) {
if (!!error) {
console.log('erreur');
reject(error)
} else {
resolve(results)
return results
}
});
});
}

app.post('/sendnewpost', function(req, res){
maFonctionAsynchrone('pseudotest').then(function(result){
console.log(result);
}).catch(function(error){
console.log(error);
});
});

检查this更多示例链接

关于javascript - 使用 Promise 从函数传递数据并返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50316846/

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