Вы можете использовать async-linq
, которые поддерживают синхронные и асинхронные операции LINQ в JavaScript и поддерживают функцию наравне с версией C #. Вы можете получить его по npm install async-linq
.
Синхронизация
linq([1, 2, 3, 4, 5, 6, 7, 8, 9, 0])
.where(function (v) { return v % 2 === 1; })
.select(function (v) { return v * 100; })
.run();
Асинхронная операция
linq(['abc.txt', 'def.txt', 'xyz.txt'])
.async
.select(function (filename, index, callback) {
fs.stat(filename, function (err, stat) {
callback(err, err ? null : {
filename: filename,
size: stat.size
});
});
})
.run(function (err, result) {
console.log(result);
});