NetSuite 目前在哪个版本的 javascript 上运行 SuiteScripts?

问题描述 投票:0回答:4

netsuite 当前在什么版本的 javascript 上运行 SuiteScripts?

这是我的理解:SuiteScript 是一个在 javascript 引擎上运行的 NetSuite 脚本 API。 Javascript 有多个版本(例如 ES6 和 ES7)。该引擎使用哪个版本?或者,也许我应该问“SuiteScript 在什么 javascript 引擎上运行?”。然后我可以查找引擎运行的 javascript 版本?

让我举一个实际的例子来说明我的意思。在 javascript 版本 ECMAScript 7 中,您可以声明 async function,但在 ECMAScript 6 中则不能。我可以在 SuiteScript 中声明“异步函数”吗? (任意示例)

netsuite suitescript
4个回答
10
投票

对于服务器端,我相信它是 ECMAScript 5(或者说它已经按照我的目的工作了)。所以没有异步/等待,抱歉。您可以使用自己的 Promises 实现(或使用包含 Promise 的 Suitescript 2.0)。客户端取决于运行它的浏览器,因此如果您的同事浏览器支持异步,您可以使用异步。

服务器端 Javascript 运行在 Rhino 上(不确定版本),与 Node.js 不同,并且运行起来更像是无法访问 window 的浏览器环境。对支持设置了某些限制(没有 XMLHTTPRequest,相反,您必须使用它们的内置方法之一,等等)。


10
投票

谨向大家更新:从 Suitescript 2.1 开始支持 ES9,因此现在您可以拥有服务器端承诺和异步/等待。


2
投票

https://www.netsuite.com/portal/resource/articles/erp/suitescript-21-delivers-modern-javascript-syntax-for-server-side-development.shtml

报价:

有关所有 ECMAScript 功能的完整概述,请参阅 2019 规范。

这是版本10。

2019年规范


0
投票

直接回答问题:

  • GraalVM for 2.1 套件脚本。
  • Rhino 1.0 和 2.0 套件脚本。

正如其他人已经回答的那样,Netsuite 的文档与 ECMAScript 2019 文档相结合将成为您的指南。

© www.soinside.com 2019 - 2024. All rights reserved.