์ด ์ฝ๋๋ ์๊ฐ ์ด๊ณผ๋ฅผ ๋ฌด์ํ๊ณ ํ๋ก์ธ์ค๋ฅผ ์ค๋จํฉ๋๋ค.
'use strict'
const {VM} = require('vm2')
const vm = new VM({
timeout: 5000,
})
console.log('Runs')
vm.run('Promise.resolve(42).then(() => {while(true) {}})') // hangs the process
setImmediate(console.log, 'Will never run')
๊ทธ๋ฆฌ๊ณ Promise๋ ์ฝ๊ฒ ๋นํ์ฑํ๋ ์ ์์ต๋๋ค: #74.
์ฝ์ด๋ณด๊ธฐ.md
์ค์: ์๊ฐ ์ด๊ณผ๋ NodeVM์ ํจ๊ณผ์ ์ด์ง ์์ผ๋ฏ๋ก while(true) {} ๋๋ ์ด์ ์ ์ฌํ ์ ์ ๋ฉด์ญ๋์ง ์์ต๋๋ค.
@awiebe ๋ฅผ ์ ์ธํ๊ณ ๋ VM
๊ฐ ์๋๋ผ NodeVM
๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ถํํ๋ ์ด๊ฒ์ ๋ ธ๋ ์๊ฐ ์ด๊ณผ ๊ธฐ๋ฅ์ ๋ ๋ค๋ฅธ ์ ํ ์ฌํญ์ ๋๋ค. ์๋๋ฐ์ค์์ ์คํ ์ค์ด๋๋ผ๋ ๋น๋๊ธฐ์ ํธ์ถ์๋ ์๋ํ์ง ์์ต๋๋ค.
์ด ๋ฌธ์ ๋ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ค๋๋ ๊ฒ์ผ๋ก ํ์๋์์ต๋๋ค. ๋ ์ด์ ํ๋์ด ์์ผ๋ฉด ํ์๋ฉ๋๋ค. ๊ทํ์ ๊ธฐ์ฌ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.