
18.01.2016, 16:15
|
 |
I am Student
|
|
Регистрация: 16.12.2011
Сообщений: 4,415
|
|
не совсем понимаю что делает этот код (0 , _typeof4.default), все время возвращает 2й аргумент?? И смысел ?
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|

18.01.2016, 16:50
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
Цитата:
|
не совсем понимаю что делает этот код (0 , _typeof4.default), все время возвращает 2й аргумент?? И смысел ?
|
Из-за запятой
Представим два сервера с одной версией ноды и бабеля. На первом new Date().toLocaleString(params) выдает отформатированные строки, а на втором то же самое что и new Date(). Я так понимаю это как-то связано с системными настройками? Подскажите плз куда копать.
__________________
Научу себя плохому
Последний раз редактировалось l-liava-l, 18.01.2016 в 16:55.
|
|

18.01.2016, 21:23
|
 |
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от l-liava-l
|
Представим два сервера с одной версией ноды и бабеля. На первом new Date().toLocaleString(params) выдает отформатированные строки, а на втором то же самое что и new Date(). Я так понимаю это как-то связано с системными настройками? Подскажите плз куда копать.
|
Загуглил за тебя.
Рекомендую поставить moment и не любить себе мозги 
|
|

18.01.2016, 21:54
|
Профессор
|
|
Регистрация: 14.03.2012
Сообщений: 1,808
|
|
trikadin,
Красотень 
__________________
Научу себя плохому
|
|

18.01.2016, 22:02
|
 |
I am Student
|
|
Регистрация: 16.12.2011
Сообщений: 4,415
|
|
Сообщение от l-liava-l
|
Из-за запятой
|
Понятнее смысел этой записи не стал
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|

19.01.2016, 18:02
|
Кандидат Javascript-наук
|
|
Регистрация: 25.05.2012
Сообщений: 133
|
|
Ребят. Объясните плз профит async/await по сравнению с цепочками промисов.
Самый простой пример, что я смог придумать 
1 Объем кода такой же +/-
2 приятность синтаксиса - спорно. Кому что больше нравится.
???
Больше не смог ничего придумать.
Подозреваю, что я просто не умею готовить.
async function some() {
console.log(1);
await new Promise(resolve => {
setTimeout(() => {
console.log(2);
resolve();
}, 1000);
});
console.log(3);
};
some();
function some() {
console.log(1);
new Promise(resolve => {
setTimeout(() => {
console.log(2);
resolve();
}, 1000);
}).then(() => {
console.log(3);
});
}
some();
|
|

19.01.2016, 21:43
|
 |
I am Student
|
|
Регистрация: 16.12.2011
Сообщений: 4,415
|
|
yazonnile,
1. В большинстве случаев это не будет явный вызов промиса а выззов какого то метода.
2. суть в том что у тебя получится асинхроный код по сути записаный как синхронный.
function getAsyncData() {
return new Promise( ( resolve ) => {
setTimeout( () => {
resolve("data");
}, 1000 );
} )
}
async function getData(){
var val = await getAsyncData();
// далее пишем синхронный код
var val = await getAsyncData();// снова получаем асинхронный данные
//дальше пишем синхронный код и не каких callback
}
getData();
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|

20.01.2016, 10:03
|
 |
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Цитата:
|
1 Объем кода такой же +/-
|
Допустим, нам надо описать алгоритм регистрации юзера, где необходимо запросить логин, язык, пароль и эмэйл, а затем еще и сохранить данные в ДБ. Логин должен быть уникальным, так что если клиент пришлет уже занятый, надо его об этом оповестить и запросить другой. Если опять пришлет занятый, повторить, и так по кругу.
const loginsTaken = new Set();
class User {
async register() {
let login = await this.request("login");
if (loginsTaken.has(login)) {
do {
this.send("login is taken already");
login = await this.request("login");
} while (loginsTaken.has(login));
}
loginsTaken.set(login);
let language = await this.request("language");
let password = await this.request("password");
let email = await this.request("email");
Object.assign(this, {language, login, password, email});
await this.save();
this.send("registered successfully");
}
}
Перепишешь на чистые обещания?
Последний раз редактировалось Erolast, 20.01.2016 в 10:09.
|
|

20.01.2016, 11:54
|
Кандидат Javascript-наук
|
|
Регистрация: 25.05.2012
Сообщений: 133
|
|
Спасибо за разъяснения!
Erolast,
код, который вне if можно легко переписать на цепочку. А код внутри if я бы вынес в отдельную функцию. Но идею я понял. Спасибо.
cyber,
В большинстве случаев это не будет явный вызов промиса а выззов какого то метода.
А как интерпритатор поймет, что ему передается асинхронный вызов?
К примеру var result = await this.some();
Метод some должен же вернуть промис, чтобы код работал правильно. Или я недопонял?
|
|

20.01.2016, 12:36
|
 |
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
await может принимать что угодно, хоть
await 1
И это позволяет писать одинаковый интерфейс для синхронных и асинхронных вызовов.
|
|
|
|