使用回调订购功能

问题描述 投票:0回答:1

我真的很困惑回调以​​及何时使用它们与等待或异步函数等。

我有两个代码块,一个调用API来下载一个工作表,另一个用于处理新下载的工作表。例如。

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

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

            getLatestDriveSheet();
            sendFeedbackMails()

显然,API调用总是返回第二,我不明白的是我应该在哪里实现这样的回调。或者,如果它甚至是正确的路线。

我是否需要将getLatestDriveSheet函数放在getLatestDriveSheet中并创建对getLatestDriveSheet的回调?

javascript node.js callback
1个回答
2
投票

你可以使用这两种方法。

通过回调你可以这样做

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();
© www.soinside.com 2019 - 2024. All rights reserved.