Я только начинающий с Обещаниями JavaScript , хотя я широко использовал их в своей жизни, с AJAX-запросами.
Я создаю интерфейсное приложение для запуска изБиблиотека SharePoint, и она запрашивает информацию о пользователях из SharePoint API для настройки содержимого страницы.Чтобы получить всю необходимую информацию, мне нужно получить 2 разных URL-адреса, поскольку один не содержит всех данных, которые я ищу.
Кроме того, я создаю библиотеку для облегчения использования SharePoint API и хочуЭти два обещания были решены в одном, а результаты обоих уже объединены в одном JSON userData
.Я знаю, Promise.all()
делает нечто подобное, однако его результатом является массив с отдельным результатом, который не соответствует второй части, которую я хочу ...
Кроме того, имейте в виду, что я создаю приложение, полностью совместимоев IE многие ресурсы, такие как Asyn / Await, отбрасываются.
Поэтому я хотел, чтобы функция getUser()
ниже уже возвращала обещание со свойствами объединенного объекта:
function getUser() {
var userData1 = axios.get(url + '/web/CurrentUser');
var userData2 = axios.get(url + '/SP.UserProfiles.PeopleManager/GetMyProperties');
return Promise.all([userData1, userData2]);
}
var userDataAll;
getUser().then(function(values) {
userDataAll = Object.assign({}, values[0].data, values[1].data);
});