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



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

我接收callbackName作为一个字符串,我有一个对象(让我们说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 in success,它调用JSON。Stringify。

你知道我该怎么做吗?

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

var obj = {a:"b"};
var callbackName = "callback";
var scope = {};
scope.callback = function(e) {
    return function() {
        console.log(e);
    }
}
setTimeout( scope[callbackName](obj), 1000 );

最新更新