繁体   English   中英

不能在异步 Function 中使用变量?

[英]Can't use Variable Inside Async Function?

所以,我知道这一定是一个非常愚蠢的问题,但在 javascript 中并不是很好,所以我试图在我的网站上插入 Tradingview 免费小部件,但问题是我不能在其中使用变量,因为它是异步的 function。

这是代码

<script>var coinName = "XRP"</script>

所以我使用了 Tradingview 的 2 个脚本,第一个就是这个,它工作得很好。

<div class="tradingview-widget-container">
  <div id="tradingview_8e4c9"></div>
  <script type="text/javascript" src="https://s3.tradingview.com/tv.js"></script>
  <script type="text/javascript">
  new TradingView.widget(
  {
  "width": 980,
  "height": 610,
  "symbol": "BINANCE:" + coinName + "USD",
  "interval": "D",
  "timezone": "Etc/UTC",
  "theme": "dark",
  "style": "1",
  "locale": "en",
  "toolbar_bg": "#f1f3f6",
  "enable_publishing": false,
  "allow_symbol_change": true,
  "container_id": "tradingview_8e4c9"

}
  );
  </script>
</div>

这是第二个代码,我正在尝试与上面的脚本完全相同,但它不起作用

<!-- TradingView Widget BEGIN -->
<div class="tradingview-widget-container">
  <div class="tradingview-widget-container__widget"></div>
  <div class="tradingview-widget-copyright"><a href="https://www.tradingview.com/symbols/BTCUSD/technicals/" rel="noopener" target="_blank"><span class="blue-text">Technical Analysis for BTCUSD</span></a> by TradingView</div>
  <script type="text/javascript" src="https://s3.tradingview.com/external-embedding/embed-widget-technical-analysis.js" async>
  {
  "interval": "1M",
  "width": 425,
  "isTransparent": false,
  "height": 450,
  "symbol": "BINANCE:" + coinName + "USD",
  "showIntervalTabs": true,
  "locale": "en",
  "colorTheme": "dark",
  "largeChartUrl": "http://#"
}
  </script>
</div>
<!-- TradingView Widget END -->

第二个代码在控制台中给出 2 个错误,

小部件设置解析错误:SyntaxError: Unexpected token + in JSON at position 105

提供的设置无效,回退到默认值

那么我该如何实现呢?

@CrisG 的回答解决了这个问题

让它工作:jsfiddle.net/khrismuc/3s5rn1bg

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM