我是Javascript的初学者,我正在尝试各种类型的代码来获得概述。我遇到过一些我无法在任何地方找到定义的东西,因此我来到这里寻求帮助。
上下文:我会提供一些上下文来解释为什么我处于这个位置,甚至认为它与问题没有100%相关:我有一个Ionic 2跨平台应用程序应该打开我选择的某个URL的浏览器页面,在该页面上执行脚本以读取包含XML链接的div,然后将该字符串返回给我。为此,我使用插件InAppBrowser,然后我有一个事件监听器,在页面停止加载时注入代码。
将执行脚本的功能
async doExtraction(fdsTask: FDSTask, profile: Profile, context: any, options: FDSConnectorContextOptions): Promise<FDSPromiseValue> {
let script = EXTRACT_TEMPLATE; // extract_template is a constant of the script
let iab: InAppBrowser = options.inappBrowser;
let browser = iab.create(fdsTask.configuration.base_url, '_blank'); //this will open a page
let promise = new Promise<any>(
(resolve, reject) => {
//this is when the script will be executed into another page
browser.on('loadstop').subscribe(
(event: InAppBrowserEvent) => {
console.groupCollapsed("Preparing to execute script.");
console.log(script);
console.groupEnd();
browser.executeScript({code: script}).then((data) => {
console.log("Executed script.");
console.log(data);
let result: FDSPromiseValue = {status: FDSPromiseValueStatusEnum.FAIL, result: data};
if (data == null || data[0][0] == null || data[0][0] != "success") {
console.log("No success. Rejecting...");
reject(result);
}
result.status = FDSPromiseValueStatusEnum.SUCCESS;
resolve(result);
}).catch(
(e) => {
let result: FDSPromiseValue = {status: FDSPromiseValueStatusEnum.ERROR, result: e};
reject(result);
});
},
err => {
console.log("InAppBrowser Loadstop Event Error: " + err);
let result: FDSPromiseValue = {status: FDSPromiseValueStatusEnum.ERROR, result: err};
});
});
return promise;
}
EXTRACT_TEMPLATE
var xmlLink = document.querySelectorAll("div.exportLinkContainer:nth-of-type(2) a ")[0].href;
['success', xmlLink];
问题
要在页面上执行的代码是上面的EXTRACT_TEMPLATE, 由于它是一个脚本,我不会有任何return语句,所以我猜测最后一个数组是脚本的“return”。我的问题是:那是什么语法?我有什么需要搜索才能找到更多这样的文档并找到相关文档?
感谢您的帮助。干杯