(узел: 359) UnhandledPromiseRejectionWarning: Ошибка: не удалось подключиться к Socket.onerror (/home/runner/something/node_moduat

avatar
Sohan Bhattacharya
9 августа 2021 в 04:22
202
0
0

Итак, я получил эту ошибку на Node.js

(узел:359) UnhandledPromiseRejectionWarning: Ошибка: не удалось подключиться в Socket.onerror (/home/runner/something/node_modules/discord-rpc/src/transports/ipc.js:32:16) в Object.onceWrapper (events.js:421:26) в Socket.emit (events.js:314:20) в Socket.EventEmitter.emit (domain.js:483:12) в emitErrorNT (internal/streams/destroy.js:92:8) в emitErrorAndCloseNT (internal/streams/destroy.js:60:3) в процессеTicksAndRejections (внутренний/процесс/task_queues.js:84:21) (узел: 359) UnhandledPromiseRejectionWarning: отклонение необработанного обещания. Эта ошибка возникла либо из-за броска внутри асинхронной функции без блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch(). Чтобы завершить процесс узла при отклонении необработанного обещания, используйте флаг CLI --unhandled-rejections=strict (см. https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (идентификатор отклонения: 1) (узел: 359) [DEP0018] Предупреждение об устаревании: отказы от необработанных обещаний устарели. В будущем отказы от обещаний, которые не будут обработаны, завершат процесс Node.js с ненулевым кодом выхода.

Вот мой код:

const fetch = require('node-fetch');
const RPC = require('discord-rpc');
const client = new RPC.Client({
    transport: 'ipc'
});

client.on('ready', () => {
  const inexsignal = fetch('https://60c1d6e84f7e880017dc0883.mockapi.io/api/v1/data', {
    method: 'GET',
    headers: { 'Content-Type': 'application/json' }
});
const signaldata = inexsignal.json();

       //   definitions
         const Details =  signaldata[0].Details
         const State =  signaldata[0].State
         const Largeimg =  signaldata[0].LargeImg
         const SmallImg =  signaldata[0].SmallImg
         const LargeText =  signaldata[0].LargeText
         const SmallText =  signaldata[0].SmallText
         const Label1 =  signaldata[0].Label1
         const Label2 =  signaldata[0].Label2
         const URL1 =  signaldata[0].URL1
         const URL2 =  signaldata[0].URL2

    client.request('SET_ACTIVITY', {
        pid: process.pid,
        activity: {
            details: `${details}`,
            state: `${state}`,
            timestamps: {
                start: Date.now()
            },
            assets: {
                large_image: `${LargeImg}`,
                large_text: `${LargeText}`,
                small_image: `${SmallImg}`,
                small_text: `${SmallText}`
            },
            buttons: [
                { label: `${Label1}`, url: `${URL1}` },
                { label: `${Label2}`, url: `${URL12}` }
            ]
        }
    });
});

client.login({
    clientId: '', 
    clientSecret: ''
});```

I've removed my client ID and secret for privacy. How do I fix this error?
Источник
Pawan Bishnoi
9 августа 2021 в 05:54
0

выборка данных является асинхронной работой, поэтому inexsignal.json(); вызывается до того, как данные будут загружены, вы можете подтвердить это, поместив его в блок try catch.

Ответы (0)