我正在尝试创建一个回调函数来响应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期望对象成功,它调用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 );

关于javascript - 如何将javascript函数定义为变量中的变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31721692/

10-11 06:30