- Регистрация
- 04.02.2013
- Сообщения
- 945
- Благодарностей
- 257
- Баллы
- 63
Есть следующий код на js:
В данном случае код выполняется 30 секунд, но в кубике он выполняется мгновенно. обертывание в
не помогает, чатжп советует добавить setTimeout
что тоже не сильно помогает. Парни, подскажите как правильно реализовать ожидание выполнения кода.
JavaScript:
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const stringToSend = "0123456789012345678001234567890";
const chunksToSend = Array.from(stringToSend); // Разбиваем строку на отдельные символы
const stream = new ReadableStream({
async start(controller) {
for(const chunk of chunksToSend) {
await delay(1000);
controller.enqueue(chunk);
}
controller.close();
}
});
(async function() {
try {
const response = await fetch('https://test.com', {
method: 'POST',
body: stream.pipeThrough(new TextEncoderStream()),
headers: {'Content-Type': 'text/plain'},
duplex: 'half',
});
const text = await response.text();
console.log('Response:', text);
} catch (error) {
console.error('Error:', error);
}
})();
JavaScript:
async function someAsyncFunction() {
/*Place your code here*/
}
someAsyncFunction()
JavaScript:
const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));
const stringToSend = "0123456789012345678001234567890";
const chunksToSend = Array.from(stringToSend); // Разбиваем строку на отдельные символы
const stream = new ReadableStream({
async start(controller) {
for(const chunk of chunksToSend) {
await delay(1000);
controller.enqueue(chunk);
}
controller.close();
}
});
(async function() {
try {
const response = await fetch('https://test.com', {
method: 'POST',
body: stream.pipeThrough(new TextEncoderStream()),
headers: {'Content-Type': 'text/plain'},
duplex: 'half',
});
const text = await response.text();
console.log('Response:', text);
} catch (error) {
console.error('Error:', error);
}
})();