我想调用的RxJS方式AWS lambda函数:如何调用AWS LAMBDA与Observable.bindNodeCallback(lambda.invoke)
invokeLambda(): Observable<string> {
const lambda = new AWS.Lambda({region: environment.region, apiVersion: "2015-03-31"});
const invoke$ = (functionName, payload, invocationType = "RequestResponse") => {
return Observable.bindNodeCallback(lambda.invoke)();
};
return invoke$(environment.functionName, {}).map((result: InvocationResponse) => JSON.parse(<string>result.Payload));
}
但是当我尝试:
this.myService.invokeLambda().subscribe(() => { dosomething(); }
我得到的错误:
page.html:5 ERROR TypeError: this.makeRequest is not a function
at svc.(anonymous function)
我做错了什么?
似乎上下文不绑定,你试过'bindNodeCallback(lambda.invoke.bind(lambda))...'? –
像一个迷人的工作。谢谢 –