越来越null作为回调AWS拉姆达结果
我试图验证OTP使用sendotp NPM模块,但sendOTP.verify方法我得到的回调为空的结果。我如何可以验证是否OTP已被验证与否。
sendOTP -
exports.handler = async (event,context,callback) => {
const SendOtp = require('sendotp');
const sendOTP = new SendOtp('260981AZN8sH3O5c551802');
let mobileNum = event.mobile.toString();
let otp = event.otp.toString();
sendOTP.verify(mobileNum, otp, (error, data) => {
callback(null,{statusCode:200,body:data.type});
});
}
回答如下:
有两个半波函数调用类型 - 同步和异步。同步调用会阻塞调用者将等待响应。异步调用类型不会阻塞调用者,它会返回它被称为后,立即与无 - null
- 响应。
如果你把你的函数的前async
关键字,您指定的函数异步调用,因此null
响应您得到预期的行为。
如果你不希望它是异步的,那么改变你的头
exports.handler = (event,context,callback) =>
需要注意的是无(当您订阅lambda函数到S3的事件,它总是会被异步调用即)尊重你的选择调用拉姆达函数时,一些服务会用自己的预定义的λ调用类型。
越来越null作为回调AWS拉姆达结果
我试图验证OTP使用sendotp NPM模块,但sendOTP.verify方法我得到的回调为空的结果。我如何可以验证是否OTP已被验证与否。
sendOTP -
exports.handler = async (event,context,callback) => {
const SendOtp = require('sendotp');
const sendOTP = new SendOtp('260981AZN8sH3O5c551802');
let mobileNum = event.mobile.toString();
let otp = event.otp.toString();
sendOTP.verify(mobileNum, otp, (error, data) => {
callback(null,{statusCode:200,body:data.type});
});
}
回答如下:
有两个半波函数调用类型 - 同步和异步。同步调用会阻塞调用者将等待响应。异步调用类型不会阻塞调用者,它会返回它被称为后,立即与无 - null
- 响应。
如果你把你的函数的前async
关键字,您指定的函数异步调用,因此null
响应您得到预期的行为。
如果你不希望它是异步的,那么改变你的头
exports.handler = (event,context,callback) =>
需要注意的是无(当您订阅lambda函数到S3的事件,它总是会被异步调用即)尊重你的选择调用拉姆达函数时,一些服务会用自己的预定义的λ调用类型。