我正在使用 Parse Server 并且在异步函数未按预期运行时遇到问题。我在 AWS Lambda 上的 Node.js 8.10 上运行它。这是我的函数的(非常简化的)版本:
Parse.Cloud.job("updateSubscriptions", async (req, res) => {
try {
winston.info("Updating subscriptions...");
var Subscription = Parse.Object.extend("Subscription");
var query = new Parse.Query(Subscription);
await query.find().then(
function () {
winston.debug("Got subscriptions.");
},
function(error) {
winston.error("Error querying subscriptions.");
}
);
winston.debug("Wrapping up.");
} catch (e) {
winston.error("Uh oh.");
}
});
Run Code Online (Sandbox Code Playgroud)
我想要(并期望)的是获得输出“更新订阅...获得订阅。结束。”
实际发生的是我看到“正在更新订阅...”,仅此而已。看来该函数实际上并未等待异步调用,和/或 Lambda 提前终止了该进程。
有谁知道我在这里做错了什么?