javascript — setTimeout внутри Promise Race сразу ловит

setTimeout внутри Promise Race сразу ловит

У меня есть 2 обещания, fetch и setTimeout , ожидание выборки в течение 5 секунд и ожидание setTimeout 4 секунды.

Я не знаю почему, но немедленно включил тайм-аут!

 myService( args ) .then( result ={amp}gt; { console.log(result); }) .catch( timeoutError ={amp}gt; { // {amp}lt;----------------- FIRE IMMEDIATELY console.error(timeoutError); }) ; function myService( args ){ return Promise.race([ fetch("http://localhost/wait-ten-seconds"), new Promise( (_, timeexpired) ={amp}gt; { return setTimeout( function() { console.log("timeout"); timeexpired({msg: "call timeout", code: 100, data: null}); } , 4000) }) ]); } - myService( args ) .then( result ={amp}gt; { console.log(result); }) .catch( timeoutError ={amp}gt; { // {amp}lt;----------------- FIRE IMMEDIATELY console.error(timeoutError); }) ; function myService( args ){ return Promise.race([ fetch("http://localhost/wait-ten-seconds"), new Promise( (_, timeexpired) ={amp}gt; { return setTimeout( function() { console.log("timeout"); timeexpired({msg: "call timeout", code: 100, data: null}); } , 4000) }) ]); } 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector