我在 AWS lambda 的 Java 实现的 Context 对象中没有看到 done() 方法。
在 node 中,您可以执行一堆异步操作,然后在一切完成后调用 done()。在调用 done() 之前,lambda 被认为是未完成的。
我想在 Java 中做类似的事情,但我没有看到 done() 方法。那么,lambda 函数的 Java 实现何时被视为“完成”?什么时候回来?我是否必须在返回之前阻止所有内容?这看起来很粗糙。
我在 AWS lambda 的 Java 实现的 Context 对象中没有看到 done() 方法。
在 node 中,您可以执行一堆异步操作,然后在一切完成后调用 done()。在调用 done() 之前,lambda 被认为是未完成的。
我想在 Java 中做类似的事情,但我没有看到 done() 方法。那么,lambda 函数的 Java 实现何时被视为“完成”?什么时候回来?我是否必须在返回之前阻止所有内容?这看起来很粗糙。
从文档的“入门:用 Java 编写 AWS Lambda 代码”页面http://docs.aws.amazon.com/lambda/latest/dg/java-gs.html:
完成后您只需返回一个字符串。决定何时“完成”取决于您,即,如果您发出异步调用,您必须确保它们已经完成。
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
public class Hello {
public String myHandler(int myCount, Context context) {
LambdaLogger logger = context.getLogger();
logger.log("received : " + myCount);
return String.valueOf(myCount);
}
}