Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Lambda函数在调用回调后返回null_Node.js_Amazon Web Services_Aws Lambda - Fatal编程技术网

Node.js Lambda函数在调用回调后返回null

Node.js Lambda函数在调用回调后返回null,node.js,amazon-web-services,aws-lambda,Node.js,Amazon Web Services,Aws Lambda,我正在编写一个lambda函数并返回一个回调,但响应为空 我的函数看起来像 var CloudmersiveValidateApiClient = require('cloudmersive-validate-api-client'); var defaultClient = CloudmersiveValidateApiClient.ApiClient.instance; // Configure API key authorization: Apikey var Apikey = defa

我正在编写一个
lambda
函数并返回一个回调,但响应为空

我的函数看起来像

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分两个阶段解析代码。谷歌“提升”获取更多关于这种行为的信息。

尝试调用
apinstance.emailFullValidation(email,callbackcm)callbackcm后的code>
variable@MaiKaY,谢谢你的意见。这真的很有帮助。@K.Liu,您可以在本地安装它,然后压缩整个代码,包括
节点_模块
,并将其上载到lambda。另外,请查看我对其他问题的回答,以了解更多有关角落案例的详细信息:非常感谢。我也来看看。