如何将javascript函数定义为变量中的变量

时间:2015-07-30 10:47:41

标签: javascript json node.js aws-lambda

我正在尝试创建一个回调函数来响应Node中的JSONP请求。

我收到callbackName作为String,我有一个Object(比方说var obj = {a:“b”}) 我需要返回以下内容:

callbackName({a : "b"});

我尝试连接字符串 - 但我得到了

"callbackName([Object object])"; 

我尝试了JSON.Stringify但得到了:

"callbackName({\"a\":\"b"});"

这很接近 - 但它都很紧凑。有没有办法准确得到我想要的东西?

更新

我正在使用的代码 - 在AWS Lambda函数中(事实证明这是相当重要的!)

    context.succeed(request.callback + "(" + JSON.stringify(obj) + ");");

如下所述 - Lambda期望Object成功,它调用JSON.Stringify。

关于我如何进行的任何想法?

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,那么你需要这样的东西:

var obj = {a:"b"};
var callbackName = "callback";

var scope = {};

scope.callback = function(e) {
    return function() {
        console.log(e);
    }
}

setTimeout( scope[callbackName](obj), 1000 );