简体   繁体   English

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

[英]How do I define a javascript function as a variable from a variable

I'm trying to create a callback function in response to a JSONP request in Node. 我正在尝试创建一个回调函数来响应Node中的JSONP请求。

I receive callbackName as a String, and I have an Object (lets say var obj = {a : "b"}) I need to return the following : 我以字符串形式接收callbackName,并且有一个对象(可以说var obj = {a:“ b”}),我需要返回以下内容:

callbackName({a : "b"});

I tried concatenating strings - but I got 我尝试串联字符串-但我知道了

"callbackName([Object object])"; 

I tried JSON.Stringify but got: 我尝试了JSON.Stringify但得到了:

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

which is close - but it's all stringy. 距离很近-但都很严格。 Is there a way to get exactly what I want? 有没有办法得到我想要的东西?

UPDATE UPDATE

The code I'm using - which is in an AWS Lambda Function (turns out this is rather significant!) 我正在使用的代码-在AWS Lambda函数中(事实证明这很重要!)

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

As mentioned below - Lambda expects an Object in succeed, which it calls JSON.Stringify on. 如下所述-Lambda期望对象成功,它调用JSON.Stringify。

Any ideas on how I could proceed? 关于如何进行的任何想法?

If I understand your question, then you need something like this: 如果我理解您的问题,那么您需要这样的事情:

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

var scope = {};

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

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM