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 будет объектом.