yapi-next/vendors/server/utils/sandbox.js
2023-06-25 19:08:56 +08:00

18 lines
400 B
JavaScript

const Safeify = require('safeify').default;
module.exports = async function sandboxFn(context, script) {
// 创建 safeify 实例
const safeVm = new Safeify({
timeout: 3000,
asyncTimeout: 60000
})
script += "; return this;";
// 执行动态代码
const result = await safeVm.run(script, context)
// 释放资源
safeVm.destroy()
return result
}