function user_params(id, param) {
return new Promise((resolve, reject) => {
vk('users.get', {user_ids: id, fields: param}, function(error, response){
if (error) {
reject(error);
}
resolve(response[0][param]);
});
});
}
user_params(123, {}).then(res => {
// ваши действия
}).catch(error => {
console.error(error);
});mass является указателем на массив, и после b = mass у вас просто две переменных указывают на один и тот же объект в памяти. То же самое будет происходит со всеми типами, кроме элементарных -- строк, чисел и булевых значений.mass.slice(0) (или [...mass] в ES6+). Имейте ввиду, что члены массива, если они не элементарного типа, опять таки передадутся по ссылке.
return json_encode($result) наверное должно быть что-то вроде echo json_encode($result). Также непонятно, почему никак не обрабатывается ситуация, когда name и email отсутствуют.header('Content-Type: application/json');. Всё-таки json возвращаете.?> тоже не помешает - чтобы случайно не добавлять пробелы/пустые строки в ответ.dataType: "html" было бы неплохо заменить на dataType: "json" - по получении ответа не придётся вызывать parseJSON, response будет объектом.