Kode ini mengabaikan batas waktu dan menghentikan proses:
'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')
Dan Janji tidak dapat dengan mudah dinonaktifkan: #74.
Readme.md
PENTING: Timeout tidak efektif untuk NodeVM sehingga tidak kebal terhadap while (true) {} atau evil serupa.
@awiebe kecuali, saya menggunakan VM
, bukan NodeVM
.
Sayangnya, ini adalah batasan lain dari fitur batas waktu node - ini tidak berfungsi untuk panggilan asinkron, bahkan jika itu berjalan di kotak pasir.
Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.