Один способ обмениваться между адаптерами JavaScript должен следовать шаблону примерно так:
CommonAdapter-impl.js:
var commonObject = {
invokeBackend: function(input, options) {
// Do stuff to check/modify input & options
response = WL.Server.invokeHttp(input);
// Do stuff to check/modify response
return response;
}
}
getCommonObject: function() {
return commonObject;
}
NormalAdapter-impl.js:
function getSomeData(dataNumber) {
var input = {
method: 'get',
returnedContentType: 'json',
path: '/restservices/getsomedata',
}
return _getCommonObject().invokeBackend(input);
}
function _getCommonObject() {
var invocationData = {
adapter: 'CommonAdapter',
procedure: 'getCommonObject',
parameters: []
}
return WL.Server.invokeProcedure(invocationData);
}
В данном конкретном случае, общий адаптер используется для обеспечения функции «обертки» вокруг WL.Server.invokeHttp,
, но она может быть использована для обеспечения каких-либо других функций полезности, а также.
Причиной этого шаблона является то, что он позволяет запускать WL.Server.invokeHttp
в контексте «вызывающего» адаптера, что означает, что конечная точка (имя хоста, номер порта и т. Д.), Указанная в файле .xml
вызывающего адаптера, будет использоваться. Это означает, что короткая функция _getCommonObject() должна повторяться в каждом «нормальном» адаптере, но это довольно небольшой кусок шаблона.
Обратите внимание, что этот шаблон использовался с Worklight 6.1 - нет гарантии, что он будет работать в будущих или прошлых версиях.