Я работаю над обновлением кода js до новой версии Dynamics 365 для V9 и не могу использовать функции стрелок при использовании Xrm.WebApi (также при обновлении js до ts).
Например,это не работает:
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----", () => { });
});
, но это работает (на мой взгляд, более уродливо):
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 compiler ... Я также пытался настроить файл tsconfig для вывода на es5 и es2017, но он тоже не работал.
, поэтому ... можно ли использовать функции стрелок с Xrm.WebApi?если так ... что я делаю неправильно / не делаю?
Заранее спасибо!