首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在CRM WebApi v9和类型记录中使用箭头函数。

无法在CRM WebApi v9和类型记录中使用箭头函数。
EN

Stack Overflow用户
提问于 2018-11-16 21:21:39
回答 1查看 487关注 0票数 1

我正在努力将js代码升级到新的V9版本的Dynamic365,并且在使用Xrm.WebApi时不能使用箭头函数(也可以将js升级到ts)。

例如,这不起作用:

代码语言:javascript
复制
Xrm.WebApi.retrieveMultipleRecords(
                'mks_entitlementline',
                `$select=mks_name, _mks_parententitlementid_value&$filter=_mks_parententitlementid_value eq '${eId}'`).then(
                    (results) => {
                        if (!this.commonUtils.isUndefinedOrNull(results) && results.entities.length > 0) {
                            this.usesELS();
                        } else {
                            this.notUsingELS();
                        }
                        // filter contact lookup                        
                        this.filterContactLookup("", eId);
                        this.refreshPriorities(eId);
                        if (this.commonUtils.isUndefinedOrNull(this.formContext.getAttribute<Xrm.Attributes.LookupAttribute>('primarycontactid').getValue())) {
                            this.formContext.getControl<Xrm.Controls.LookupControl>('primarycontactid').setDisabled(false);
                        }
                    }).catch(error => {
                        console.log("ERROR -> entitlementSlaManagementOnUpdate: ", error);
                        Xrm.Utility.alertDialog("E----", () => { });
                    });

但这确实(我认为更丑):

代码语言:javascript
复制
Xrm.WebApi.retrieveRecord("role", searchedId, "$select=name")
                    .then(
                        function (role: { roleid: string, name: string }) {
                            outArr.push({ Id: role.roleid, Name: role.name, Type: "role" });

                            if (rolesAndTeams.length === outArr.length) {
                                if (!error) {
                                    _onOk(outArr);
                                }
                                _onErr(errorObject)
                            }
                        },
                        function (err) {
                            errorObject = err;
                            error = true;
                        })

我收到的错误是:

Xrm.WebApi.retrieveMultipleRecords(...).then(...).catch不是一个函数

基本上告诉我'catch‘是无效的,但我不知道为什么不是,因为它对ts编译器来说是可以的.我还尝试将tsconfig文件配置为在es5和es2017上输出,但也没有工作。

所以..。箭头函数可以与Xrm.WebApi一起使用吗?如果是这样..。我做错了什么/没有做什么?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-18 09:25:50

我不认为这个问题是由箭头函数引起的。我认为catch是问题所在。如果返回值是any类型,编译器不会告诉您任何事情。我不知道是否是这样,但是如果您查看CRM,您将看到以下签名:

代码语言:javascript
复制
Xrm.WebApi.retrieveMultipleRecords(entityLogicalName, options, maxPageSize).then(successCallback, errorCallback);

没有提到catch,而是可以将errorCallback传递给then

顺便说一下,这就是第二个例子中传递errorHandler的方式。

所以试试这个:

代码语言:javascript
复制
Xrm.WebApi.retrieveMultipleRecords(
            'mks_entitlementline',
            `$select=mks_name, _mks_parententitlementid_value&$filter=_mks_parententitlementid_value eq '${eId}'`).then(
                (results) => {
                    if (!this.commonUtils.isUndefinedOrNull(results) && results.entities.length > 0) {
                        this.usesELS();
                    } else {
                        this.notUsingELS();
                    }
                    // filter contact lookup                        
                    this.filterContactLookup("", eId);
                    this.refreshPriorities(eId);
                    if (this.commonUtils.isUndefinedOrNull(this.formContext.getAttribute<Xrm.Attributes.LookupAttribute>('primarycontactid').getValue())) {
                        this.formContext.getControl<Xrm.Controls.LookupControl>('primarycontactid').setDisabled(false);
                    }
                },
                error => {
                    console.log("ERROR -> entitlementSlaManagementOnUpdate: ", error);
                    Xrm.Utility.alertDialog("E----", () => { });
                });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53345561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档