onClick не работает на мобильном телефоне (сенсорный)

Вызов JWT.sign() с пропущенным обратным вызовом выполнит его асинхронно - это то, что вы делаете, это означает, что вызов вернет undefined, что вы и возвращаете.

Вы можете либо обещать этот вызов, либо синхронно вызывать JWT.sign, который затем будет возвращен как обещание блока compare(..).then(...).

Чтобы «обещать» этот обратный вызов, ваш оператор возврата должен выглядеть примерно так:

return compare(password, dbPwdHash.password)
        .then(
            (res) => {
                if (res) {
                    return new Promise((resolve, reject) => {
                        sign({id: dbPwdHash.id}, this.privateKey, {algorithm: 'ES512'}, (err, token) => {
                            if (err) {
                                reject(err);
                            } else {
                                console.log(token);
                                resolve({data: token});
                            }

                        });
                    });
                }
                ;
            }
        )
        .catch(
            (err) => {
                console.log(err);
            },
        );

ссылка: https://github.com/auth0/node-jsonwebtoken#jwtsignpayload- secretorprivatekey-опции обратного вызова

31
задан 13.05.2020, 15:03

2 ответа

лучше использовать событие touchstart с .on() методом jQuery:

$(window).load(function() { // better to use $(document).ready(function(){
    $('.List li').on('click touchstart', function() {
        $('.Div').slideDown('500');
    });
});

И я не понимаю, почему вы используете метод $(window).load(), потому что он ждет всего загружаемая страница, это, как правило, медленно, в то время как вы можете использовать метод $(document).ready(), который не ожидает загрузки каждого элемента на странице в первую очередь.

81
ответ дан 13.05.2020, 15:03
  • 1
    Это, кажется, работает просто великолепно и более расширяемо, если Вы добавляете параметрические усилители позже. Я сделал JSON.stringify на стороне клиента при создании URL и JSON.parse на сервере в маршрутизации. – james 02.03.2020, 02:18
  • 2
    Большое спасибо. Работы как очарование. – Dale 13.05.2020, 15:04

вы можете использовать вместо клика:

$('#whatever').on('touchstart click', function(){ /* do something... */ });
8
ответ дан 13.05.2020, 15:04
  • 1
    А-ч, you' корректное ре. Я забыл добавлять JSON' s .parse и .stringify к моему предложенному ответу, но я делаю то же также при передаче объекта в качестве параметра, таким образом, я уверен, что передаю правильную форму объекта как строка. – Bandito11 02.03.2020, 02:19

Теги

Похожие вопросы