如何在Zapier中创建原型对象?

如何在Zapier中创建原型对象?,zapier,Zapier,我正在Zapier内部进行应用程序集成,并使用Zapier的内置方法轮询数据。脚本现在很长,并且使用了大量重复的函数对象。如何对每个属性调用使用原型继承模型,以便对其他属性的类似调用重用它?典型的api调用如下所示: var Zap = { myattribute_post_poll: function(bundle) { var results = JSON.parse(bundle.response.content); results.

我正在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;
}

最好的技术就是在
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;
    }
};

这可能对其他人有帮助,因此在此处添加我的原型对象:

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;
    }
}