Функция обратного вызова nodejs внутри функции - & gt; как вернуть результат

ipconfig показывает такие вещи, как hostname, DNS-серверы, которые находятся в другом месте, чем только IP-адреса в Linux, поэтому вам понадобится пара команд.

hostname
ifconfig -a
cat /etc/resolv.conf

Это показывает, что я хочу см. 99% времени, но ipconfig / all также показывает такие вещи, как время аренды и серверы DHCP.

cat /var/lib/dhcp/dhclient.leases
0
задан 13 August 2018 в 13:55

1 ответ

Добро пожаловать в асинхронное программирование, man!

Вы используете стиль обратного вызова, это означает, что все дальнейшие действия, которые вы должны выполнять внутри обратного вызова запроса и т. д., глубже и глубже, если вы делаете асинхронные действия с результатом первоначального запроса.

Мое твердое мнение заключается в использовании библиотеки запросов-обещаний и потока async / await. Посмотрите:

const request = require('request-promise');

exports.apifunc= async (a,b) => {
  const body = await request.post(
    `https://abc.co.kr/api/${address}`,
    { json: { A:`${a}`, B: `${b}`} }
  );

  return body;
}

Не забывайте здесь две вещи. Требуется обработка ошибок (try / catch), и функция async возвращает Promise. Таким образом, внешняя функция, которая использует функцию api, должна быть либо асинхронной, чтобы ждать там тела, либо ожидать Promise и продолжить цепочку Promise. Then

0
ответ дан 15 August 2018 в 17:04
  • 1
    он не работает .. он показывает ошибку после стрелки – 김시훈 14 August 2018 в 02:53

Другие вопросы по тегам:

Похожие вопросы: