node.js - 从回调函数返回一个变量
问题描述
我有这个代码
function LoadEmailIdsToCheck() {
fs.readFile(config.googleCredentials, function processClientSecrets(
err,
content
) {
if (err) {
console.log("Error loading client secret file: " + err);
// return;
}
// Authorize a client with the loaded credentials, then call the
// Gmail API.
authorize(JSON.parse(content), getEmails);
});
}
function authorize(credentials, callback) {
var clientSecret = credentials.installed.client_secret;
var clientId = credentials.installed.client_id;
var redirectUrl = credentials.installed.redirect_uris[0];
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(clientId, clientSecret, redirectUrl);
...
}
function getEmails(auth) {
const gmail = google.gmail({ version: "v1", auth });
gmail.users.messages.list(
{
userId: "me"
},
(err, res) => {
if (err) return console.log("The API returned an error!: " + err);
else {
response = res
return response;
}
}
);
}
当我用“LoadEmailIdsToCheck()”触发代码时,我不会得到回调函数的返回。如果我执行 console.log(res),它会打印出所需的数据,但我无法执行“返回 res”。
所以我的问题是为什么?我该如何解决这个问题?
解决方案
推荐阅读
- php - 更改 URL 后,Wordpress 多站点一个网络站点页面重定向到父站点
- html - Bootstrap 4 - 打开下拉菜单时更改下拉菜单的文本颜色
- fortran - 我需要为已经分配的变量写 ALLOCATABLE (POINTER) 吗?
- python - 如何为 iOS 12 构建 pyodide?
- excel - 带有 vba 背景简单色调的条件格式
- c# - 无需枚举或反射即可传达状态更新
- javascript - 嵌套 JSON 中的 LiveSearch
- spark-koalas - 考拉抛出“无法获取属性_fill_function”
当我在 python 脚本中运行以下代码并直接使用 python 运行它时,我收到以下错误。当我启动 pyspark 会话然后导入考拉时,创建数据框并调用 head() 它运行良好并给了我预期的输出。
是否需要设置 SparkSessi
- postgresql - 部署容器时谷歌云错误:缺少环境变量
- swiftui - SwiftUI 中的 DisclosureGroup 可扩展列表