console.time('no cache');
fetch('https://yastatic.net/jquery/2.1.4/jquery.min.js?' + Math.random())
.then(r => r.text())
.then(() => console.timeEnd('no cache'));
console.time('yandex');
fetch('https://yastatic.net/jquery/2.1.4/jquery.min.js')
.then(r => r.text())
.then(() => console.timeEnd('yandex'));
git reset HEAD~1
, где 1 это количество коммитов в которых были удалены файлы. Потом аккуратно убираете удаленные файлы из staging area и пушите все изменения на место. let s = new Subscriber({name:'Sn'});
let p = new Post({title:'Pt',subscriber:s });
let u = new User({name:'Un', post: p});
s.save();
p.save();
u.save();
[
{
"_id": "58a81fd04396bb59443950e0",
"name": "Un",
"post": {
"_id": "58a81fd04396bb59443950df",
"title": "Pt",
"subscriber": {
"_id": "58a81fd04396bb59443950de",
"name": "Sn",
"__v": 0
},
"__v": 0
},
"__v": 0
}
]
const request = require('request-json');
const Promise = require('bluebird');
let client = request.createClient(SITE_URL);
client.post = Promise.promisify(client.post);
Promise.coroutine(function* () {
let data1 = createDataStruct(61, 1, 1);
let result1 = yield client.post(SITE_PATH, data);
let data2 = createDataStruct(61, 1, 1);
let result2 = yield client.post(SITE_PATH, data);
console.log(result1, result2);
})();
var state = 0;
var intervalTimer = setInterval(function () {
switch(state){
case 0:
console.log(1);
break;
case 1:
console.log(2);
break;
case 2:
console.log(3);
break;
default:
clearInterval(intervalTimer);
}
state++;
}, 1000);
var iconv = require('iconv-lite');
var fs = require('fs');
fs.writeFileSync('win1251.txt', iconv.encode('Привет!', 'win1251'));
UserSchema.pre('save', function() {
if (!this.apikey) { // проверяем что ещё не задано
this.apikey = SHA512(this.email).toString().to(50);
}
});
try catch
.let tpl = _.template('<%-data%>');
let html;
try {
html = tpl(params);
} catch (e) { logError(e); }
ReferenceError: data is not defined
at eval (lodash.templateSources[1]:9:5