Bagaimana untuk meningkatkan tamat masa untuk permintaan axios?
P粉293550575
P粉293550575 2023-09-06 12:34:46
0
1
547

Saya agak baru dalam JavaScript/TypeScript (masih belajar) dan telah cuba membuat permintaan menggunakan fetch dan axios tetapi menghadapi masalah sambungan rangkaian. Ralat yang saya terima ialah:

cause: AggregateError at internalConnectMultiple (node:net:1102:18) at internalConnectMultiple (node:net:1161:5) at Timeout.internalConnectMultipleTimeout (node:net:1644:3) at listOnTimeout (node:internal/timers:575:11) at process.processTimers (node:internal/timers:514:7) { code: 'ENETUNREACH', [errors]: [ Error: connect ENETUNREACH 2001:67c:4e8:f004::9:443 - Local (undefined:undefined) at internalConnectMultiple (node:net:1160:40) at Timeout.internalConnectMultipleTimeout (node:net:1644:3) at listOnTimeout (node:internal/timers:575:11) at process.processTimers (node:internal/timers:514:7) { errno: -101, code: 'ENETUNREACH', syscall: 'connect', address: '2001:67c:4e8:f004::9', port: 443 } ] } } Node.js v20.3.1

Saya rasa kod itu tidak perlu, gunakan sahajaaxios({"url": "https://example.com"}).

Kelajuan rangkaian adalah perlahan dan tidak stabil, tetapi saya boleh mengakses internet. Permintaan ini berfungsi dengan baik dengan utiliti lain seperti curl atau permintaan dalam Python (cuba menggunakan kedua-duanya), supaya menolak sebarang masalah dengan konfigurasi komputer atau rangkaian saya.

fetch dan axios kedua-duanya sebenarnya berfungsi, tetapi saya terpaksa terus mencuba semula (sehingga 200 kali) sehingga ia memutuskan untuk berfungsi. Saya cuba menghantar{ timeout: 0 }{ timeout: 5000 }kepada pembina axios tetapi tidak berjaya.

Saya juga mencuba ini tetapi nampaknya tiada kesan:

const source = CancelToken.source(); const timeout = setTimeout(() => { source.cancel(); }, 10000); axios.get(ip + '/config', {cancelToken: source.token}).then((result) => { clearTimeout(timeout); // ... });
axios.get('/foo/bar', { signal: AbortSignal.timeout(5000) //Aborts request after 5 seconds }).then(function(response) { // ... });

P粉293550575
P粉293550575

membalas semua (1)
P粉814160988

Anda boleh menggunakan salah satu pilihan konfigurasitimeout属性作为可传递给axios.

https://axios-http.com/docs/req_config

Anda juga boleh menukar nilai lalainya dan bukannya menggunakan atributtimeoutsetiap kali:

const instance = axios.create(); instance.defaults.timeout = 2500;

https://axios-http.com/docs/config_defaults

    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!