在JS中使用反引号(``)会产生空行

时间:2017-02-21 18:38:32

标签: javascript backticks

我使用了反引号语法,以便使用Javascript生成一些Java代码:

Console.Write("Enter VillainId: ");
// asks to user input

while (!int.TryParse(Console.ReadLine(), out VillainId))
// while the conversion is not successfull
{
    Console.WriteLine("You need to enter a valid Villain Id!");
    Console.Write("Enter VillainId: ");
    // asks for user to input valid data
}

但是,当body为null时,生成的代码包含3-4个空行然后 “int responseCode ..”行。 我已经尝试将body为true的部分提取到一个单独的常量中,或者在语句中移动``作为第一个并且它们都不起作用。有什么建议?

提前致谢!

1 个答案:

答案 0 :(得分:0)

也许如果你正确检查了身体的var,例如:

typeof body == "undefined" ? `con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();` : ``

将返回以下字符串:

"con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(${JSON.stringify(body)});
wr.flush();
wr.close();"

不仅使用body ? "string" : "",使用body的var进行一些操作。 (例如body == ""typeof body == "undefined"