leading
debounce-promise.function monkeyParse(responseText) {
responseText = responseText
.replace(/("field-name"\s*:\s*)(\d(?:\.\d+)?)/g, '$1"$2"');
return JSON.parse(responseText);
}
monkeyParse('{ "field-name": 1.1000 }'); // { "field-name": "1.1000" }
{
"tags": {
"юр": 2,
"зозпп": 1,
"файл": 1,
"пароль": 1,
"сервер": 1
},
"data": [
{
"title": "заголовок 1",
"content": "запись 1",
"tags": [
"юр",
"зозпп"
]
},
{
"title": "заголовок 2",
"content": "запись 2",
"tags": [
"юр"
]
},
{
"title": "заголовок 3",
"content": "запись 3",
"tags": [
"файл",
"пароль",
"сервер"
]
}
]
}
0
- удаляете.npm set registry ...
. const moveQueue = {
queue: [],
index: 0,
create() {
let endMoveCallback;
// создаём висячий промис и присваиваем его разрешение в endMoveCallback
const movePending = new Promise(resolve => endMoveCallback = resolve);
// index чисто для лога
endMoveCallback.index = this.index++;
// добавляем в очередь
this.queue.push(endMoveCallback);
// возвращаем проис ждущий вызова endMoveCallback
return movePending;
},
last() {
// забираем из очереди последнее добавленное
return this.queue.pop();
}
}
async function turn() {
await startMove();
await startShoot();
}
function startMove() {
console.log('startMove', moveQueue.index);
return moveQueue.create();
}
function endMove() {
const activeMoveEnd = moveQueue.last();
if (activeMoveEnd) {
console.log('endMove', activeMoveEnd.index)
activeMoveEnd();
} else {
onsole.error('`endMove` called when there are no active moves')
}
}
function startShoot() {
console.log('startShoot');
}
turn();
setTimeout(() => endMove(), 1000)
live-server
это не "стандартный сервер", это сторонний софт, причём мёртвый несмотря на название. Живой на данный момент форк - alive-server
. Но проблема, если что, не в этом.:)