0

我在节点 js 中尝试了一个简单的函数,并将数据传递给一个文件到另一个文件。但是它抛出 undefined.how 在节点 js 中解决它

有趣的.js

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

    })
    console.log(results)
}

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

4

3 回答 3

0
async function Get_Value() {
  let results = await new Promise(function(resolve) {
    client.get("products", function(err, results) {
      resolve(results);
    });
  });

  console.log(results);
}

于 2019-05-01T04:23:02.483 回答
0

这很容易使用async/awaitES7 提供的功能。

async function  Get_Value()
{
    const results = await new Promise((resolve, reject) => {
                        client.get('products', function(err,results) {
                             resolve(results);
                        })
                    });
     console.log(results);  
 }
于 2019-05-01T04:31:28.160 回答
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)
于 2019-05-01T05:27:09.910 回答