Задать вопрос
@akdes

Как сделать синхронный функционал на асинхронном node + vanilla JS?

Добрый день.

Пишу небольшую программу на электроне, при старте программа должна проделать несколько операций с сервером.
По всем известным причинам ("так будет быстрее", "нет времени расматривать FW" и т.д.) решил писать всё на чистом JS.
Так вот, я дружу с асинхронностью и концептом сей технологии. но хочется решить стартовый функционал синхронно, т.е.:
так устроенно сейчас:
app.on('ready', register)

function register() {
   doThis("abc", myCallback)
}

function myCallback(request, error...) {
   if(request.message == "foobar") {
      doThat("cba", otherCallback);
   }
}

function otherCallback(request, error...) {
  doSomething(request.foo);
}

а так хочется:
app.on('ready', register)

function register() {
   var request = doThis("abc");
   if(request.message == "foobar") {
      var someVar = doThat("cba");
      console.log(someVar);
   }
}


Для запросов использую request(options, callback)
На данном этапе работаю асинхронно, но стартовый функционал хочу переделать в синхронный, ибо уже сейчас я насчитываю 10 под-функций, которые созданны только для callback'ов, дабы сымитировать синхронное течение программы.

Я PHP-Разработчик, на JS, как полноценный язык, опыта мало, в связи с этим просьба объяснить/направить, как мне заставить асинхронные функции, как request, fs(filesystem) etc. заставить работать синхронно, точнее только когда будет получен ответ - идти дальше.

Большое спасибо
  • Вопрос задан
  • 314 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
kgnk
@kgnk
Разрабатываю сайты, рисую интерфейсы
Используйте калбэки и промисы.
Вот, например, про fs. Можно сразу на примеры листать.
Ответ написан
Ваш ответ на вопрос

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

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