function timeout(ms, promise) {
return new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error("timeout"))
}, ms)
promise.then(resolve, reject)
})
}
timeout(1000, fetch('/hello')).then(function(response) {
// process response
}).catch(function(error) {
// might be a timeout error
})
No more waiting around for pull requests to be merged and published. No more forking repos just to fix that one tiny thing preventing your app from working.
var selected = 'value2'; // Вместо чекбокса, суммироваться будет значение value1 и значение указанного в данной переменной свойства объекта.
var data = [
{id: 1, value1: 1, value2: 23, value3: 1},
{id: 2, value1: 3, value2: 3, value3: 2},
{id: 3, value1: 1, value2: 6, value3: 4},
{id: 4, value1: 23, value2: 8, value3: 67}
];
data.sort(function (x, y) {
return x.value1 - y.value1 + x[selected] - y[selected];
});
var i;
for (i = 0; i < data.length; i++) {
document.write("<p>id: " + data[i].id + " sum of value1 and " + selected + ": " + (data[i].value1 + data[i][selected]) + "</p>");
}
.length
в вашем примере. У вас, скорее всего, консольлог с length вызывается раньше цикла.||
в своем переборе, где Вы пушите результат, почему нет?const arr = [{test1: 1, test2: 2}, {test1: 1}, {test1: 1, test2: 2}];
arr.forEach(function(item, i, arr) {
console.log('Test1: ' + (item.test1 || 'Empty'));
console.log('Test2: ' + (item.test2 || 'Empty'));
});
//Test1: 1
//Test2: 2
//Test1: 1
//Test2: Empty
//Test1: 1
//Test2: 2
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
chromium-browser --disable-web-security
router.route('/login/')
.post(function(req, res, next){
passport.authenticate('digest', function(err, user, info){
if(err) return console.log(err);
if(!user){
res.set('WWW-Authenticate', 'x'+info);
return res.send(401);
}
req.login(user, function(err){
if(err) return console.log(err);
res.redirect('/admin/');
});
})(req, res, next);
});