Как получить возврат и печать во внешней функции, используя узел JS - PullRequest
0 голосов
/ 01 мая 2019

Я попробовал одну простую функцию в узле js и передал данные в один файл в другой файл. Но его выдача не определена. Как решить ее в узле js

fun.js

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

    })
    console.log(results)
}

Я пытался напечатать значение вне функции, но его печать не определена, как распечатать результат в функции вне стороны

Ответы [ 3 ]

0 голосов
/ 01 мая 2019

Это очень легко, используя async/await функции, предоставляемые ES7.

async function  Get_Value()
{
    const results = await new Promise((resolve, reject) => {
                        client.get('products', function(err,results) {
                             resolve(results);
                        })
                    });
     console.log(results);  
 }
0 голосов
/ 01 мая 2019

Определите ваш 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)
0 голосов
/ 01 мая 2019
async function Get_Value() {
  let results = await new Promise(function(resolve) {
    client.get("products", function(err, results) {
      resolve(results);
    });
  });

  console.log(results);
}

...