Функции заказа с обратными вызовами - PullRequest
0 голосов
/ 21 февраля 2019

Я действительно запутался по поводу обратных вызовов и того, когда их использовать, с функциями await или async и т. Д.

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

            function getLatestDriveSheet() {
                /// stuff here should happen first
            };

            function sendFeedbackMails() {
                /// stuff here should happen after the first
            };

            getLatestDriveSheet();
            sendFeedbackMails()

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

Нужно ли поместить функцию getLatestDriveSheet в getLatestDriveSheet и создать обратный вызов для getLatestDriveSheet?

1 Ответ

0 голосов
/ 21 февраля 2019

Вы можете использовать оба подхода.

С обратным вызовом вы можете сделать так:

function getLatestDriveSheet(callback) {
  /// stuff here should happen first
  var sheet = getTheSheet();
  callback(sheet);
};

function sendFeedbackMails(sheet) {
  /// stuff here should happen after the first
  sendSheet(sheet);
};

getLatestDriveSheet(sendFeedbackMails);

или если вы можете использовать async

async function getLatestDriveSheet(sheet) {
  /// stuff here should happen first
  const sheet = await getTheSheet();
  return sheet;
};

function sendFeedbackMails(sheet) {
  /// stuff here should happen after the first
};

async function getSheetAndSendMails() {
  const sheet = await getLatestDriveSheet();
  sendFeedbackMails(sheet);
}

getSheetAndSendMails();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...