嵌套字符串插值或延迟字符串插值

时间:2021-06-22 22:00:08

标签: javascript string-interpolation

我正在创建包含需要插值的字符串的函数:

let createPFunc = (string) => {
    return () => {
        return new Promise((resolve, reject) => {
            setTimeout(() => {
                console.log(`${string}`);
                resolve();
            }, 2000);
        })
    }
}
let f1 = createPFunc('String 1: ${string}');
let f2 = createPFunc('String 2: `${string}`');

f1(`search 1`).then(() => f2('search 2'))

它打印的是:

String 1: ${string}
String 2: `${string}`

我想打印:

String 1: search 1
String 2: search 2

我尝试了不同的引用变体,但找不到有效的组合。

如何执行两次插值,或延迟插值,以便在调用函数时(而不是在创建函数时)解析 ${string}

1 个答案:

答案 0 :(得分:1)

查看 at this answer in another question 以了解有关如何推迟字符串插值替换的详细信息。 为此,我在这里使用了 INSERT INTO tb_code (name, code) SELECT e.name, e.code FROM export e WHERE NOT EXISTS (SELECT * FROM tb_code c WHERE c.name = e.name); 函数。

您可以通过这样做来实现您想要的:

defer

相关问题