有没有什么方法可以在没有eval和new Function语句的情况下使用 Here API ?
(因为这种语句可以在某些环境中被阻止)
我相信这个问题是HERE JavaScript API特有的。例如,从mapsjs-core.js 的第 154 行,否则会被最小化和混淆:
function(){eval("var self = arguments[0];"+b)}
我不会争论是否是邪恶/不良做法eval('...'),new Function('...')因为问题的含义是在某些环境中它们的使用无论如何都会被阻止。
由于这是 JavaScript API 的当前实现,另一种方法是直接使用HERE REST API来获取您需要的任何服务。您将需要在没有 JavaScript SDK 便利的情况下处理 Ajax 请求,但对于某些库和框架,无论如何可能都需要具有该级别的控制。我们最近发布了一些博客文章,用React、Angular和Vue演示了这一点,这些可能是有用的例子。