このコードはタイムアウトを無視し、プロセスをハングさせます。
'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。
Readme.md
重要:タイムアウトはNodeVMには効果的ではないため、while(true){}または同様の悪の影響を受けません。
@awiebeを除いて、 NodeVM
VM
を使用しています。
残念ながら、これはノードのタイムアウト機能のもう1つの制限です。非同期呼び出しでは、サンドボックスで実行されている場合でも機能しません。
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。