var list = {
// Страница логина
login: {
name: {
/**Обязательно ли поле**/
isRequired: true,
/**
Начать валидацию только тогда, когда возвращается true
**/
if: function (current, all) {
return current == "admin" ? false : true
},
/**
Тип который должен быть у поля
Все типы: String, Array, Object, Boolean, Number
**/
type: String
/**
Минимальная длина и максимальная длина.
Работает только со строкой, массивом.
**/
min: 1,
max: 10,
/**
Делает соответствие регулярному выражению
**/
search: /testuser/i,
/**
Функция валидатор.
Параметры: текущее поле в цикле и все поля переданные в validation (Это тот скрипт о котором я говорил скину)
Возвращать: true если все хорошо, false если все плохо
**/
validator: function (current, all) {
return current == "testuser" ? true : false
},
/**
Сообщение которое возвращает скрипт если валидация не прошла.
**/
message: "Неверное имя!",
/**
Функция изменения message
**/
setMessage: function (current, all) {
return all.type == "company" ? "Неверное название компании" : "Неверное имя!"
}
}
}
}
// т.е у меня хранится этот лист.
// а функция validation импортирует его и начинает валидацию
validation({name: "Мегафон", type: "company"}, "login")
.catch(emessage => console.log(emessage))
.then(body => console.log(body))
Array.prototype.asyncEach = function (each, done) {
var i = -1, a = this
function iter() {
if (++i === a.length) { done && done(); return }
each.call(a, a[i], iter)
}
iter()
}
// Example
;(new Array(10)).asyncEach(function (item, next) {
setTimeout(function () {
console.log("tick")
next()
}, 1000)
}, function () {
console.log("done")
})
Array.prototype.asyncEach = function (each, done) {
var i = -1, a = this
function iter() {
if (++i === a.length) { done && done(); return }
each.call(a, a[i], iter)
}
iter()
}
let objectGame = ["GTA", "CS", "OTHER"]
db.connect()
objectGame.asyncEach(function (item, next) {
parserGame(item, getResultOneGame)
next()
}, db.end)
var FeedParser = require('feedparser')
, request = require('request');
var req = request('https://tjournal.ru/rss'),
feedParser = new FeedParser();
req.on('response', function(res) {
this.pipe(feedParser);
});
var titles = [], emitted = false
feedParser.on('readable', function() {
var stream = this, item
if (item = stream.read()) {
titles.push(item.title)
}
!emitted && (emitted = true) && stream.on("end", function () {
console.log(titles)
})
})
request
навешивается событие data
Примерно такhttp.createServer(function (req, res) {
if (req.method == "POST" && req.url == "example") {
req.on("data", function (chunk) {
// и здесь все парсится
})
}
}).listen(3000)
а express это все делает за вас, и хранит данные переданные методом POST в свойстве body
т.еreq.body