我正在Zapier内部进行应用程序集成,并使用zapier的内置方法来轮询数据。脚本现在很长,并且使用了大量重复的函数对象。如何为每个属性调用使用原型继承模型,以便我可以将其重用于其他属性的类似调用?典型的api调用如下:
var Zap = {
myattribute_post_poll: function(bundle) {
var results = JSON.parse(bundle.response.content);
results.value.reverse();
//attribute call
var cRequest = {
'url': "myURL.com/a/" + bundle.auth_fields.tenant_id +
"/odata/standard.odata/Catalog_attibute(guid'" + results.value[i].attribute_Key + "')?$format=json",
'headers': {
"Authorization": "Basic " + btoa(bundle.auth_fields.username + ':' + bundle.auth_fields.password)
},
'method': "GET"
};
var cResponse = z.request(cRequest);
try{
var JSONResponse = JSON.parse(cResponse.content);
results.value[i].Customer_name = JSONResponse.Description;
} catch(error){
console.log(error);
results.value[i].Customer_name = results.value[i].Company_Key;
}
return results;
}
答案 0 :(得分:0)
最好的技术就是在Zap
上打破可重用的属性:
var Zap = {
reusable_thing: function(arg) {
return arg + 1;
},
attr_pre_poll: function(bundle) {
bundle.request.params = Zap.reusable_thing(1);
return bundle.request;
}
};
答案 1 :(得分:0)
这可能对其他人有帮助,所以在这里添加我的原型对象:
var Zap = {
attrGuidRequest : function(obj, document, key){
var attrResponse = JSON.parse(
z.request({
'url': "myUrl" + tenant_id +
"/odata/.." + document + "(guid'" + key + "')?$format=json",
'headers': {
"Authorization": "Basic " + btoa(username + ':' + password)
},
'method': "GET"
}).content) || {};
return attrResponse;
}
}