Я хочу реализовать водопад с async и ждать.
я прошел через это, попробовал
Основная цель заключается в том, что я хочу, чтобы функция async вызывалась, если какой-либо из вышеуказанных async отклоняется с ошибкой.
var cont = 1;
function signin (){
console.log(cont);
// i am doing some async
return new Promise((a,b)=>{
if((++cont) === 4){
setTimeout(1000*cont,b,'ab');
} else {
setTimeout(1000*cont,a,'ab');
}
})
}
async function main() {
try {
await signin;
await signin;
await signin;
await signin;
await signin;
await signin;
await signin;
return signin();
} catch(er){
return er;
}
}
main()
В приведенном выше описании ничего не работает должным образом. каков мой ожидаемый результат
1
2
3
4
После четвертого он должен полностью сломаться. А остальные попытки авторизации вызывать не должны.
Все входы в систему должны выполняться последовательно. Как в водопаде.
Любая помощь?
await signin();
в вашей основной функции, у вас простоawait signin;
. - person Frank Roth   schedule 29.05.2017call
эти функции? Извините, если это глупо, но я только что начал, асинхронно и жду. - person codeofnode   schedule 29.05.2017await signin();
он не идет после 1. - person codeofnode   schedule 29.05.2017setTimeout(1000*cont,b,'ab');
тоже неверен. Первый параметр - это функция, а второй параметр - время в мс. Прочтите: w3schools.com/jsref/met_win_settimeout.asp - person Frank Roth   schedule 29.05.2017async/await
будет частью ES2017. Это не часть ES7 (ES2016). - person Felix Kling   schedule 29.05.2017