Как создать функцию для вызова себя, когда заданное условие истинно в Мифриле. js - PullRequest
0 голосов
/ 12 марта 2020

Это мой мифриловый код:

m('input', {
    id: 'someBox',
    placeholder: 'Type something',
    oninput: () => {
        query = document.getElementById('someBox).value;
        //do something

        for(var a=0; a<500; ++a) {
            if(query != document.getElementById('someBox'))
                //call this function

            //do a lot of something
        }
    }
})

Всякий раз, когда кто-то вводит текст, набор или результаты должны загружаться. Когда ввод изменяется, результаты, которые должны быть загружены, не изменяются, если только предыдущие результаты не закончили загрузку sh. Поэтому, чтобы этого не случилось, я решил создать условие внутри for() l oop. В настоящее время я использую оператор break;, но по некоторым причинам он иногда не загружает результаты.

Можно ли как-нибудь назвать эту функцию?

Примечание: Я не могу объявить функцию глобально из-за определенных ограничений.

1 Ответ

1 голос
/ 12 марта 2020

Если для вас не критично использовать обычную функцию (в отличие от обозначения стрелки), присоединенную к свойству oninput, вы можете ссылаться на эту функцию как this.oninput, например:

m('input', {
    ...
    oninput: function(){
                ...
                if(query != document.getElementById('someBox'))
                //call this function
                this.oninput()
                ...
        }
    }
})
...