У меня есть 2 обещания: fetch
и setTimeout
, выбор ожидания в течение 5 секунд и setTimeout, ожидание 4 секунд.
Я не знаю почему, но setTimeout срабатывает немедленно!
myService( args )
.then( result => {
console.log(result);
})
.catch( timeoutError => { // <----------------- FIRE IMMEDIATELY
console.error(timeoutError);
})
;
function myService( args ){
return Promise.race([
fetch("http://localhost/wait-ten-seconds"),
new Promise( (_, timeexpired) => {
return setTimeout( function() {
console.log("timeout");
timeexpired({msg: "call timeout", code: 100, data: null});
}
, 4000)
})
]);
}