Оберните асинхронное использование с Метеором - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь обернуть асинхронную функцию в моем приложении Meteor.Чтобы сделать его максимально простым, я попытаюсь сделать базовый пример (потому что все, что я нашел, было немного сложнее, чем мне нужно).

В моем приложении я пытаюсь сделать

console.log("1");
my_func(string_to_display);
console.log("2");

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

Я попытался вызвать ее таким образом

var my_func_sync = Meteor.wrapAsync(my_fync);
var result = my_func_sync(string_to_display);

Большинство примеров здесь более сложные, с URL и вызовами между сервером / клиентом / другими службами.Я хотел бы знать, есть ли способ обернуть простую функцию, которая только отправит мою строку на консоль.Может ли кто-нибудь дать мне самый простой пример, пожалуйста?Будем весьма признательны!

1 Ответ

0 голосов
/ 11 октября 2018

Я полагаю, что использование async await может решить проблему.

async my_funct1(){
    console.log("1");
    await my_func(string_to_display);
    console.log("2");
}

Обратите внимание, что вам нужно использовать async с my_funct1 (), если вам нужно использовать await.Обычно это будет ждать возврата вызова из myfunc (string_to_display) для перехода к следующей строке.

...