如何使用Node JS返回并在外部函数中打印

时间:2019-05-01 04:15:18

标签: node.js nodejs-stream nodejs-server

我在node js中尝试了一个简单的功能,然后将数据传递到另一个文件上,但是将其抛出undefined。如何在node js中解决它

fun.js

function Get_Value()
{
    client.get('products', function(err,results) {
        return results

    })
    console.log(results)
}

我尝试在函数外部打印值,但其打印未定义如何在外部函数中打印结果

3 个答案:

答案 0 :(得分:0)

SELECT
    t.patient_id,
    SUM(t.time_spent) AS sum_time
FROM transactions t
WHERE
    YEAR(t.created_at) = YEAR(CURDATE()) AND MONTH(t.created_at) = MONTH(CURDATE())
GROUP BY
    t.patient_id
HAVING
    COUNT(CASE WHEN t.disposition_id = 1 THEN 1 END) > 0 AND
    SUM(t.time_spent) > 20;

答案 1 :(得分:0)

使用ES7提供的async/await功能非常容易。

async function  Get_Value()
{
    const results = await new Promise((resolve, reject) => {
                        client.get('products', function(err,results) {
                             resolve(results);
                        })
                    });
     console.log(results);  
 }

答案 2 :(得分:0)

定义您的Get_Value以使用回调函数。然后在调用Get_Value时传递回调:

function Get_Value(callback) {
  client.get('products', function(err,results) {
    if (err) return callback(err)
    callback(null, results);
  })
}

function mycallback(err, data) {
  if (err) {
    // handle error
    console.error(err)
  } else {
    console.log(data);
  }
}
Get_Value(mycallback)