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);
});
Другие вопросы по тегам