Lambda函数在调用回调后返回null
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lambda函数在调用回调后返回null相关的知识,希望对你有一定的参考价值。
我正在写一个lambda
函数并返回一个回调但响应将变为null。
我的功能看起来像
var CloudmersiveValidateApiClient = require('cloudmersive-validate-api-client');
var defaultClient = CloudmersiveValidateApiClient.ApiClient.instance;
// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'API-KEY';
// Create an instance
var apiInstance = new CloudmersiveValidateApiClient.EmailApi();
exports.handler = async (event, context, callback) => {
var email = event.email;
apiInstance.emailFullValidation(email, callbackcm);
var callbackcm = function(error, data, responsed) {
if (error) {
callback(null, {
"Error": JSON.stringify(error)
});
} else {
callback(null, {
"Body": JSON.stringify(data)
});
}
};
};
我回来的方式有问题吗?
答案
你的排序错了。在将callbackm
函数作为参数传递后,可以指定它。你要么做:
exports.handler = async (event, context, callback) => {
var email = event.email;
var callbackcm = function(error, data, responsed) {
// ....
};
apiInstance.emailFullValidation(email, callbackcm);
};
或者这样做:
exports.handler = async (event, context, callback) => {
var email = event.email;
apiInstance.emailFullValidation(email, callbackcm);
function callbackcm (error, data, responsed) {
// ....
};
};
这是因为javascript分两个阶段解析代码。谷歌“提升”了解更多关于这种行为的信息。
以上是关于Lambda函数在调用回调后返回null的主要内容,如果未能解决你的问题,请参考以下文章