يتجاهل هذا الرمز المهلة ويوقف العملية:
'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')
ولا يمكن تعطيل الوعد بسهولة: # 74.
Readme.md
هام: المهلة ليست فعالة بالنسبة لـ NodeVM ، لذا فهي ليست محصنة ضد الشر (الحقيقي) {} أو ما شابه ذلك.
awiebe فيما عدا ، أنا أستخدم VM
، وليس NodeVM
.
لسوء الحظ ، يعد هذا قيدًا آخر على ميزة مهلة العقدة - فهي لا تعمل مع المكالمات غير المتزامنة ، حتى لو كانت تعمل في وضع الحماية.
تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.