此代码需要在数组中声明一个函数(最好是匿名的)
({argObj}) => {console.log(
{开始{1}}
并在);}
IIF之外定义它。
request = (function() {...}());
我不知道该怎么做。感谢
答案 0 :(得分:0)
我并不完全清楚你想要实现什么以及要求有多严格,但一个选择可能是让请求对象能够在{{中添加/扩展处理程序 1}}:
pathAfter
这将添加一个命名处理程序,也可用于添加request = (function () {
const pathAfter = {
start: ['homePage', 'GET', ({argObj}) => {console.log('start');}]
};
return {
go: (argObj) => {
if(!pathAfter[argObj.pathAfter]) return;
const path = pathAfter[argObj.pathAfter][0];
const method = pathAfter[argObj.pathAfter][1];
const url = data.domain + path + data.ext;
HTTP.call(method, url, (error, response) => {
if (error) {
console.log('error '+error);
} else {
pathAfter[path][2]({response: response}); // <---- calls relevant method
request.go({pathAfter: path});
}
});
return true; // if rms seccessful
},
registerPathHandler: (handlerName,handler)=> {
pathAfter[handlerName] = handler;
}
};
}());
request.registerPathHandler('test', ['testPage', 'GET', ({argObj}) => {console.log('test');}]);
处理程序。如果启动处理程序确实需要在内部进行硬编码,那么上面的代码可以修改为只替换数组元素。