Javascript 从函数传递数据并使用PROMITE返回数据

Javascript 从函数传递数据并使用PROMITE返回数据,javascript,node.js,Javascript,Node.js,我需要帮助来实现这个承诺 我只想调用一个函数并传递一个伪参数并返回结果 实际上,它返回未定义的 function maFonctionAsynchrone(pseudo) { var promise1 = new Promise(function(resolve, reject) { connection.query("SELECT * FROM users WHERE MATCH (username) AGAINST ('" + pseudo + "')",

我需要帮助来实现这个承诺

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

实际上,它返回未定义的

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
函数返回承诺对象

在异步函数中使用
返回新承诺(函数(解析、拒绝)

返回承诺后,可以分配然后捕获块,以在异步解析承诺后获得结果

检查下面的代码

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);
   });
});

检查链接以获取更多示例

您没有从
maFonctionAsynchrone
函数返回承诺对象

在异步函数中使用
返回新承诺(函数(解析、拒绝)

返回承诺后,可以分配然后捕获块,以在异步解析承诺后获得结果

检查下面的代码

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);
   });
});

检查链接以获取更多示例

什么不起作用?任何错误或什么?未定义的返回位置?@LW001 console.log(maFonctionAsynchrone('pseudotest'))返回未定义(结果不是空的)@lasithapetsawadu他来自console.log(maFonctionAsynchrone('pseudotest'))什么不起作用?任何错误或什么?返回了未定义的位置?@LW001 console.log(maFonctionAsynchrone('pseudotest'))返回未定义(结果不是空的)@lasithapetsawadu他来自console.log(maFonctionAsynchrone('pseudotest'))哦,我的上帝,我尝试过类似的事情,但没有成功…现在成功了…非常感谢上帝,我尝试过类似的事情,但没有成功…现在成功了…非常感谢