打字稿:从带接口的字符串创建函数

时间:2017-07-12 19:26:07

标签: javascript typescript

我在字符串中保存了一些逻辑,我需要将其转换为可运行的函数。我已经设置了接口,使其在Typescript中强力输入,但它似乎不起作用。

interface IInterface {
    Run(data: string): Promise<string>;
}
let code: string = `
    return new class{
        let Run = function(data) {
            console.log(data);
            return "SUCCESS";
        };
    }
`;
let obj: IInterface = Function(code) as IInterface;
obj.Run("Test ").then((result: string ) => {
    console.log(result);
});

应该写:测试成功

1 个答案:

答案 0 :(得分:1)

您通过eval评估存储在字符串中的javascript。

interface IInterface {
  run(data: string): Promise<string>;
}

var f: IInterface = eval(`({run: function(data) { console.log(data); return Promise.resolve("SUCCESS"); } })`);

f.run("hello world").then(x=>console.log(x));

应按预期打印。