我在字符串中保存了一些逻辑,我需要将其转换为可运行的函数。我已经设置了接口,使其在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);
});
应该写:测试成功
答案 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));
应按预期打印。