2016-05-19 3 views
1

`` `Javascriptfingerprintjs2 как получить результаты функции get?

'use strict'; 
    import FingerPrint from 'fingerprintjs2'; 

    var fingerprint = new FingerPrint(); 
    var dfp = fingerprint.get(function(dfp, components){ 
     console.log(dfp); 
     return dfp; 
    }) 

    console.log('dfp' + dfp); 

` ``

здесь, результат: js dfpundefined 67bf907b9447de2c085b9fdf3dd1ad23 второго console.log возврат первого с неопределенной и первой консолью приходит вторым.

Я хочу вернуть правильный результат вместо подкожного? как я могу ?

thx!

ответ

-1

Библиотека fingerprintjs2 является асинхронной. Ваш код работает и выполняется в порядке, поэтому строка console.log('dfp' + dfp); выполнит до. Библиотека jsfingerprint2 закончила вычисление, поэтому вы видите ожидаемый результат после.

Метод .get() возвращает отпечаток пальца, когда он был рассчитан, так что если вы хотите сохранить его в переменной, вы должны использовать глобальную переменную:

'use strict'; 
import FingerPrint from 'fingerprintjs2'; 

var fingerprint = new FingerPrint(), 
dfp; 

fingerprint.get(function(result, components){ 
    dfp = result; 
    console.log('Fingerprint: ' + dfp); 
}); 
Смежные вопросы