fingerprintjs2 как получить результаты функции?
```Javascript
'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 возвращается первым с неопределенным значением, а первая консоль идет вторым.
Я хочу вернуть правильный результат вместо underfind? как я могу?
Спасибо!
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);
});