javascript - 使用回调对函数进行排序

标签 javascript node.js callback

我对回调以及何时使用它们与等待或异步函数等感到非常困惑。

我有两个代码块,一个调用 API 来下载工作表,第二个代码块调用新下载的工作表进行操作。例如。

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

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

            getLatestDriveSheet();
            sendFeedbackMails()

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

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

最佳答案

您可以使用这两种方法。

通过回调,你可以这样做

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 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();

关于javascript - 使用回调对函数进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54814840/

相关文章:

node.js - 使用 Codeship 进行持续部署

node.js - jxcore 任务与 Node js 集群

javascript - 如何在回调中访问正确的“this”?

ios - C 回调如何通过用户数据指针返回 Objective-C 对象?

javascript - 如何使用 Javascript 根据键值对数据进行排序和测量长度

php - 通过 JavaScript 更改 3 个下拉值

javascript - Node.js 全局 eval,抛出 ReferenceError

java - 代表们——如何做?

c# - 在jquery中加载大数据

javascript - 如何在html中绘制图像上元素的x,y坐标