netsuite - SuiteScript 2.0 RESTlet - 错误:入口点脚本必须实现一种脚本类型函数。对退货声明感到困惑
问题描述
阅读 NetSuite 文档后,我很难理解 return 语句。我收到以下错误:“入口点脚本必须实现一种脚本类型函数。”
这是示例 HelloWorld 代码,用于指出我不理解的内容:
return { //4. return statement
pageInit: helloWorld
};
上面代码中的 pageInit 到底是什么?我知道它定义了入口点函数,但是作为什么?这似乎是导致该脚本运行的操作,但我不知道它叫什么。我还看到了 onRequest、onLoad 和其他一些,但我不确定它们是什么,所以我可以找到它们的列表。
编辑:这些是入口点事件。
据我了解,您指定此值(上面的 pageInit),然后将其设置为对应的入口点函数。
这是我导致错误的代码:
/**
* @NApiVersion 2.0
* @NScriptType Restlet
* @NModuleScope Public
*/
require(['N/search'], //1. Define Function
function(search) { //2. Call Back Function
function search(datain) { //3. Entry Point Function
var searchId = datain.savedsearchid;
var mySearch = search.load(searchId);
var resultsSet = mySearch.run();
var searchid = 0;
do {
var resultslice = resultset.getResults( searchid, searchid+1000 );
for (var rs in resultslice) {
results.push( resultslice[rs] );
searchid++;
}
} while (resultslice.length >= 1000);
}
return {
onRequest : search
};
}
);
谢谢参观。
解决方案
您需要将返回对象的键与脚本类型的有效入口点相匹配。
Restlet 没有onRequest
入口点,因此您会看到错误。
检查您的 Restlet 脚本类型的帮助文档以查看有效的入口点值。