Я пытаюсь заставить асинхронные вызовы ниже (они асинхронны из-за внешнего API, а не моего дизайна) для последовательного запуска, теперь мне удалось дождаться foo функцией вызова, но у меня проблемы с ожиданием foo2 потому что я получаю следующую ошибку в асинхронной строке
ОШИБКА JS: SyntaxError: отсутствует) после списка аргументов
Что мне не хватает?
ps: также есть ли лучший способ «вернуть» значение из обратного вызова, чем установка глобальной переменной и доступ к ней извне?
foo(nick) {
return new Promise((resolve, reject) async () => {
async_foo(par, [],
(c, res) => {
let par2;
try {
par2 = c.somefun(res);
} catch (e) {
logError(e, `Some error`);
return;
}
let output = await this.foo2(par2);
resolve(output);
});
});
}
foo2(par2) {
return new Promise((resolve, reject) => {
par2.asyncfun(
null, this.callback.bind(this, par2));
});
}
заранее спасибо
(resolve, reject) async () => { ... }
является недопустимым синтаксисом, я полагаю, что именно отсюда исходит ошибка. Вам, вероятно, нужно удалитьasync ()
здесь. - person ptomato   schedule 10.04.2020