AbortSignal, TypeError: AbortSignal.timeout is not a function
Aperta
Nessuno ha ancora preso questa issue.
Issue: Author Provided Repro
Needs: Author Feedback
Resolution: PR Submitted
- Lingua principale
- C++
- Stelle
- 127k
- Fork
- 25.3k
- Merge medio
- 1g 23h
- PR unite (30g)
- 4
Descrizione
Description
I want to abort a fetch request after 5 seconds. I am using following code:
const getStatus = () => {
fetch(`${URL}/api/status`, {
signal: AbortSignal.timeout(5000)
}).then(response => {
console.log(response)
})
.catch(err => {
console.error(err.name, err.code, err.message, err.cause);
})
};
Steps to reproduce
- Install React-Native
- Install newest node version
React Native Version
0.73.1
Affected Platforms
Runtime - Android
Output of npx react-native info
System:
OS: Windows 10 10.0.19045
CPU: (6) x64 Intel(R) Core(TM) i5-9600K CPU @ 3.70GHz
Memory: 1.03 GB / 15.93 GB
Binaries:
Node: 21.5.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.19 - ~\AppData\Roaming\npm\yarn.CMD
npm: 8.3.0 - ~\AppData\Roaming\npm\npm.CMD
Watchman: Not Found
SDKs:
Android SDK: Not Found
Windows SDK:
AllowAllTrustedApps: Disabled
IDEs:
Android Studio: AI-212.5712.43.2112.8609683
Visual Studio: Not Found
Languages:
Java: 17.0.8
npmPackages:
@react-native-community/cli: Not Found
react: 18.1.0 => 18.1.0
react-native: 0.73.1 => 0.73.1
react-native-windows: Not Found
npmGlobalPackages:
*react-native*: Not Found
Stacktrace or Logs
TypeError: AbortSignal.timeout is not a function (it is undefined), js engine: hermes
Reproducer
https://github.com/HenrikZabel/abortsignal-bug/
Screenshots and Videos
No response
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con il riproduttore abortsignal-bug collegato e con il runtime Android di React Native 0.73.1 che usa Hermes, indicato nella segnalazione. Traccia l’implementazione o il punto di ingresso di AbortSignal che espone timeout, quindi verifica che il riproduttore non segnali più che AbortSignal.timeout è undefined.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, react-native
- Ambito
- mobile
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100