/
lostSun
/
project-client-server-apps
Обзор
Документация
Войти
/
lostSun
/
project-client-server-apps
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
node_modules/q/queue.js
33 строки
941 B
1lostsun
initial commit
05 май 2025, 11:35
05 май 2025, 11:35
fe8f535
Код
Авторство
О чём код?
var Q = require("./q"); module.exports = Queue; function Queue() { var ends = Q.defer(); var closed = Q.defer(); return { put: function (value) { var next = Q.defer(); ends.resolve({ head: value, tail: next.promise }); ends.resolve = next.resolve; }, get: function () { var result = ends.promise.get("head"); ends.promise = ends.promise.get("tail"); return result.fail(function (error) { closed.resolve(error); throw error; }); }, closed: closed.promise, close: function (error) { error = error || new Error("Can't get value from closed queue"); var end = {head: Q.reject(error)}; end.tail = end; ends.resolve(end); return closed.promise; } }; }