Javascript 带有nodejs函数的angularjs

Javascript 带有nodejs函数的angularjs,javascript,angularjs,node.js,Javascript,Angularjs,Node.js,我的问题是,我需要在key_客户机变量中加载变量md5,该变量是通过名为nodejs get mac的模块获得的 我的工作方式不能让它工作 始终在key_客户端之前运行以获取mac //Get Mac Machine for request var md5; node.mac.getMac(function(err, mac){ var hash = node.crypt.createHash('md5').setEncoding('hex'); hash.write(mac); h

我的问题是,我需要在key_客户机变量中加载变量md5,该变量是通过名为nodejs get mac的模块获得的

我的工作方式不能让它工作

始终在key_客户端之前运行以获取mac

//Get Mac Machine for request
var md5;
node.mac.getMac(function(err, mac){
  var hash = node.crypt.createHash('md5').setEncoding('hex');
  hash.write(mac);
  hash.end();
  md5 = hash.read();
});

//Define host and set keys
var host = 'https://service.herokuapp.com/'
var namespace = 'api/v1'
var api = host + namespace
var key_server = '432565454'
var key_client = md5;
console.log(key_client);
尝试:


getMac函数是异步的,您需要将代码放入回调中。请看:@jcubic可能会帮助我了解js?只需将代码从
var host
放到
console.log
之后
md5=hash.read()在函数中。@jcubic需要在函数中单独使用。
//Get Mac Machine for request
var md5;
node.mac.getMac(function(err, mac){
    var hash = node.crypt.createHash('md5').setEncoding('hex');
    hash.write(mac);
    hash.end();
    md5 = hash.read();
    someFunction();
});

function someFunction() {
    //Define host and set keys
    var host = 'https://service.herokuapp.com/'
    var namespace = 'api/v1'
    var api = host + namespace
    var key_server = '432565454'
    var key_client = md5;
    console.log(key_client);
}