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

时间:2017-02-27 22:15:33

标签: zapier

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

2 个答案:

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