首页 > 解决方案 > node.js:回调后返回布尔值

问题描述

我想在从另一个函数获得的函数中返回一个值。例如:

var function1 = function(parameters) {
    let param1 = 1;
    let param2 = 2;

    returnValue = function2(param1, param2);
    console.log(returnValue);
    return returnValue;

}


var function2 = function(param1, param2) {
    if (param1 + param2 == 3) {
        return true; 
    }

    else {
        return false;
    }

}

无论我尝试什么,console.log 总是显示“未定义”。而且我知道 node.js 是异步的,并且在分配值之前已经记录并返回,所以我尝试了回调和所有这些,但我开始认为我并不真正理解它们,因为没有任何效果。如果有人可以提供帮助,将不胜感激。

标签: node.jscallback

解决方案


尝试异步并等待

var function1 = async (parameters)=> {
  let param1 = 1;
  let param2 = 2;

  returnValue =  await function2(param1, param2);
  console.log(returnValue);
  return returnValue;

}


var function2 =  async (param1, param2) =>{
  if (param1 + param2 == 3) {

      return true; 
  }

  else {
      return false;
  }

}

function1();

它将按预期返回 true


推荐阅读