@Kypcant
Делетант в С#, JS.

Как вызвать асинхронную функцию на смартфоне?

//////////////////////////////////////////// mail_client.js
export async function SendMessage(name, mailFrom, subject, message){
  var data = {
        service_id: 'сервис',
        template_id: 'шаблон',
        user_id: 'здесь юзер',
        accessToken: "здесь токен",
        template_params: {
            'name': name,
            'mail': mailFrom,
            'message': message,
            'subject': subject
        }
    };
    const headers = {
      "Accept": "application/json",
	    'Content-Type': 'application/json; charset=utf-8'
    }
    var isSeccess = false;
    var info =await axios({
        method: 'post',
        url: 'https://url',
        data: JSON.stringify(data),
        headers
      }).then(function (resp) {
        if(resp.data === "OK"){
          isSeccess = true;
        }
        else {
          isSeccess = false;
        }
      });
      return isSeccess;
}

export async function SendMessClickEventHandler(){
  	var name = document.getElementById("user-name");
  	var mail = document.getElementById("user-mail");
  	var message = document.getElementById("user-message");
  	var subject = document.getElementById("user-subject");
  	
        var isSeccess = await SendMessage(name.value, mail.value, subject.value, message.value);
        if(isSeccess){
            name.value = "";
            mail.value = "";
            message.value = "";
            subject.value = "";
            alert("Сообщение успешно отправлено.");
        }
        else{
            alert("Сообщение не отправлено. Попробуйте еще раз.");
        }
}


//////////////////////////////////////////////////////////////////////////////////// function.js
export function SubmitForm(callbackSubmit){
    var submitBt = document.getElementById("submit-but");
    submitBt.addEventListener("mouseover", ()=>{
        submitBt.style.cursor="pointer";
        submitBt.style.color = "#fff";
        submitBt.style.backgroundColor ="#cd192d";
    })
    submitBt.addEventListener("mouseout", ()=>{
        submitBt.style.cursor="default";
        submitBt.style.color = "#cd192d";
        submitBt.style.backgroundColor ="#fff";
    })
    submitBt.addEventListener("click", ()=>{
        submitBt.dispatchEvent(new Event("mouseover")); ///сюда визов доходит
        callbackSubmit();
        setTimeout(() => {
            submitBt.dispatchEvent(new Event("mouseout"));
        }, 250);
    })
}

////////////////////////////////////////////////////////////// index.js
view.SubmitForm(SendMessClickEventHandler);


Приветствую, Господа.
Написал клиент для отправки данных с формы и в таком виде он работает, но только если с компа.
Со смартфона же функция-колбек не вызывается, я отметил до куда доходит вызов, будьте добры, поделитесь своей мудростью и вариантами решения данной проблемы. Спасибо)))
  • Вопрос задан
  • 127 просмотров
Решения вопроса 1
@Kypcant Автор вопроса
Делетант в С#, JS.
Я потестил с разных браузерами и нашел проблему: "ReferenceError: regeneratorRuntime is not defined". Пользуюсь сборщиком Parcel. Решил проблему добавив в index.js import 'regenerator-runtime/runtime'
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Korifa
нужен специальный асинхронный смартфон:)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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