【问题标题】:Use ECMAScript 6 template string to construct HTTP request使用 ECMAScript 6 模板字符串构造 HTTP 请求
【发布时间】:2015-11-20 17:03:29
【问题描述】:

this page,在“模板字符串”下,给出了这个例子:

// Construct an HTTP request prefix is used to interpret the replacements and construction
GET`http://foo.org/bar?a=${a}&b=${b}
    Content-Type: application/json
    X-Credentials: ${credentials}
    { "foo": ${foo},
      "bar": ${bar}}`(myOnReadyStateChangeHandler);

这是我的理解(主要来自this page):

  • 该示例的基本思想是产生一个 HTTP GET 请求。
  • 模板字符串中的${foo} 等项目将被动态替换。
  • 标签可以作为模板字符串的前缀来调用同名函数并修改生成的字符串。

以下是我了解和想知道的:

  • ECMAScript 6 中的 GET 标签有什么特别之处吗?
  • (myOnReadyStateChangeHandler) 附加到标记模板字符串的末尾会发生什么?

【问题讨论】:

  • 在这种情况下,生成的不是字符串,而是函数。标签不会“修改生成的字符串”;它指定了另一种方法来处理反引号之间的内容并返回它想要的任何内容,在这种情况下是一个函数。没有特殊的 GET 标签;它是由用户实现的。

标签: javascript ecmascript-6 babeljs


【解决方案1】:

标记的模板字符串只是函数调用的语法糖。您给出的示例将扩展为:

GET(['http://foo.org/bar?a=', '&b=', '\nContent-Type: application/json\nX-Credentials: ', '\n\n{ "foo":', '"bar":', '}'] a, b, credentials, foo, bar)(myOnReadyStateChangeHandler)

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 1970-01-01
    • 2014-10-11
    • 2015-06-28
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多