npm 라이브러리를 시작하려고 할 때 다양한 양의 입력으로이 코드를 실행하고 싶습니다. 내 유일한 문제는 내가하려는 일을 수행하는 방법을 알 수 없다는 것입니다.
기본적으로 "testfunc () {}"함수가 특정 코드 줄을 실행하여 매번 인수로 섹션을 대체 할 수 있기를 바랍니다. 아래 예 :
function testfunc{
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[1]);
console.log(arguments[2]);
console.log(arguments[3]);
console.log(arguments[4]);
console.log(arguments[5]);
}
}
여기 내가 지금 가지고있는 것의 예가 있습니다. 사용자가 메시지 편집 횟수를 변경할 수 있도록하고 싶습니다.
client.on('message', message => {
if(message.content == '69'){
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
const wait = ms => new Promise(resolve => setTimeout(resolve, ms));
function animate() {
for (var i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
message.channel.send(arguments[1]).then((sentMessage) => wait(1*1000).then((waitDone) => sentMessage.edit(arguments[i])))
// message.channel.send(arguments[1]).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[1])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[2])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[3])).then((sentMessage) => {
// wait(1*1000).then((waitDone) => sentMessage.edit(arguments[4]))
// })
// })
// })
// })
// }
}
animate('1','2','3','4')
}}})
client.login(token);
여기에 글을 쓰는 간단한 대답이있을 거라고 확신합니다. while 루프를 수행하는 아이디어를 조사하기 시작했지만 제대로 파악할 수 없습니다.
async/await
이것을 사용 하는 것은 매우 간단 할 수 있습니다. 기본적으로 함수의 인수를 반복하고 다음 인수를 계속하기 전에 각 비동기 호출을 기다립니다.
async function animate() {
// send with the first argument
const sentMessage = await message.channel.send(arguments[0]);
// continue editing with the remaining args
for (let i=1; i < arguments.length; i++) {
await wait(1000);
await sentMessage.edit(arguments[i]);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다