Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   callback как использовать (https://javascript.ru/forum/dom-window/70970-callback-kak-ispolzovat.html)

денис77447327 16.10.2017 12:45

callback как использовать
 
как известно js многопоточный язык . есть код функции которого должны выполняться последовательно друг за другом
(function() {
    'use strict';


    (function foo(i) {
        var ava=document.getElementById('avatar');
        var likephoto=document.getElementById('ilikephoto');
        var userlist=document.getElementsByClassName('p180 img_preloaded');
        var btnmsg=document.getElementsByClassName('nosymp');
        var instext=document.getElementsByClassName('wysiwyg_editor');
        var btnmsgclick=document.getElementById('send_but');
        var t = localStorage.getItem('i');  setInterval(function() {
            localStorage.setItem('i',++t);
            if (t==600){localStorage.clear();}

            console.log( "отправлено " +  t +" сообщений");
            try{
                userlist[t].click();
            }catch(e){setTimeout (function back () {history.back();},3000);}},25000);
        setTimeout (function av (){ava.click();},3000);
        setTimeout (function lkephoto (){likephoto.click();},3000);
        setTimeout (function close_window (){photo_window_close(ML$('photo_window'));},5000);
        setTimeout (function scr(){window.scrollBy(0,3000);},9000);
        setTimeout (function foll(){btnmsg[0].click();},3000);
        setTimeout (function liq () {instext[0].innerText="привет! познакомимся?";},5000);
        setTimeout (function cls () {btnmsgclick.click();}, 3000);
av();
lkephoto ();
close_window ();
foll();
liq ();
cls ();
    })(0);
})();
//document.getElementsByClassName('show_more')[0].click();
это скрипт для рассылки сообщений по профилям. я не спамер просто на этом примере изучаю js. если это callback то как его использовать куда вставлять?

ksa 16.10.2017 13:38

Цитата:

Сообщение от денис77447327
если это callback то как его использовать

[B]Callback[/B] (англ. call — вызов, англ. back — обратный) или фу́нкция обра́тного вы́зова в программировании — передача исполняемого кода в качестве одного из параметров другого кода.

В твоем примере вроде никто не передает функции как аргумент...

Но есть вызов методов setInterval() и setTimeout().

денис77447327 16.10.2017 21:24

у меня получается так что .. открывается профиль пользователя лайкается аватарка открывается поле ввода сообщения вставляется текст не понятно куда нажимается кнопка отправить .. и т . д .. все это происходит одновременно , а нужно последовательно .. вариант с таймаутом можно пробовать но это наугад выставлять задержку 2 секунды а может 3 пока загружаются элементы страницы после клика ..все это тормозит процесс..

ksa 17.10.2017 08:25

Цитата:

Сообщение от денис77447327
все это происходит одновременно , а нужно последовательно

Значит функции должны вызываться друг из друга. 2-я из 1-вой, 3-я из 2-рой...


Часовой пояс GMT +3, время: 00:04.