| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | // worker.jsself.addEventListener('message', ({ data }) => {  // console.log(data)  const { type, functionString, functionName, params } = data  // 校验函数字符串是否合法,是否含有parse和send函数  if (type === 'validateFunctionString') {    try {      eval(functionString)    } catch (_err) {      // throw new Error('请确保语法正确')      self.postMessage({ isOk: false, message: '请确保语法正确' });    }    try {      if (parse) {        try {          if (send) {            self.postMessage({ isOk: true, data: 'xxx' });          }        } catch (_err) {          // throw new Error('请确保含有【send】函数')          self.postMessage({ isOk: false, message: '请确保含有【send】函数' });        }      }    } catch (_err) {      self.postMessage({ isOk: false, message: '请确保含有【parse】函数' });      // throw new Error('请确保含有【parse】函数')    }    return  }  // 执行函数  if (type === 'runFunction') {    eval(functionString)    try {      const func = eval(functionName)      // 先尝试转换为json,如果失败再当做字符串使用      try {        const parseParams = JSON.parse(params)        const data = func(parseParams)        self.postMessage({ isOk: true, data });      } catch (_err) {        const data = func(params)        self.postMessage({ isOk: true, data });      }    } catch (_err) {      self.postMessage({ isOk: false, message: _err.message });    }    return  }});
 |