我想調用的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))...'? –
像一個迷人的工作。謝謝 –