我正在使用 Fingerprint2.js(现代灵活的浏览器指纹库,原始指纹库http://valve.github.io/fingerprintjs2/的继承者)
当我在函数内使用 console.log 时,我得到哈希指纹。但是当我将该结果存储在某个变量中时,它会给出“未定义”
Fingerprint2.get(options, function (components) {
var values = components.map(function (component) { return component.value });
console.log('insideFun -> ' + x64hash128(values.join(''), 31));
return x64hash128(values.join(''), 31);
});
通过这个,我在我的控制台中看到了一个哈希码......但是如果我将返回值存储到一些var
它不起作用。
如果我使用 asyn/await 它仍然执行控制台值但不存储var
var guid = function guid() {
var fpid;
var options = {}
let fp = (async function() {
const components = await Fingerprint2.getPromise(options);
var values = components.map(function (component) { return component.value });
let fpid = x64hash128(values.join(''), 31);
return fpid;
})();
return fpid;
};
guid();
它给fpid is undefined
。
有没有办法处理这个?