我对回调以及何时使用它们与等待或异步函数等感到非常困惑。
我有两个代码块,一个调用 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/