指定的AWS Lambda返回值不在输出中

时间:2019-08-08 02:20:43

标签: node.js amazon-web-services aws-lambda

场景1 :lambda函数在执行时输出返回的值:

expected

方案2 :执行时,lambda函数输出null而不是返回值:

actual

为什么执行lambda时不输出方案2中的返回值?

注意:方案1中的lambda将输出返回值,而不管body属性是对象还是字符串。

1 个答案:

答案 0 :(得分:0)

场景2的响应为 public class MainActivity extends AppCompatActivity { private Handler mHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHandler = new Handler(Looper.getMainLooper()) { @Override public void handleMessage(Message inputMessage) { System.out.println("Got msg!"); super.handleMessage(inputMessage); } }; netService = new HamNet(); netService.startNetwork(getApplicationContext(), mHandler); } private HamNet netService; } public class HamNet extends Service { private Handler mainThreadHdlr; public void startNetwork(Context context, Handler hdlr) { Intent serviceIntent = new Intent(context,HamNet.class); context.startForegroundService(serviceIntent); mainThreadHdlr = hdlr; assert mainThreadHdlr != null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { System.out.println("-=-=-=-=- onStartCommand()"); udpListener = new ArduinoUDPListener(); udpListener.start(); return START_STICKY; } private class ArduinoUDPListener extends Thread { public void run() { System.out.println("-=-=-=-=- ArduinoUDPListener.run()"); if (mainThreadHdlr != null) { Message msg = mainThreadHdlr.obtainMessage(); msg.obj = update; mainThreadHdlr.sendMessage(msg); System.out.println("sent msg!"); } else { System.out.println("null?"); } } } private ArduinoUDPListener udpListener; } ,因为exports.handler中缺少null关键字。将其添加回去后,您将获得所需的响应