慕的地6264312
没有比较好的方法,像你这样在回调函数中写是比较正常的做法。如果不介意使用 async/await 的话,可以使用 Promise这么改写一下:RGBaster._colors = RGBaster.colors;RGBaster.colors = pic => new Promise(success => RGBaster._colors(pic, {success});$.extend($._, {get_color: async pic => {let payload = await RGBaster.colors(pic);let d = {color: payload.secondary[0],bgcolor: `rgb('${payload.secondary[0]}')`};let rgb = d.color.split(',');d.theme = (rgb[0]*30+rgb[1]*59+rgb[2]*11+50)/255 < 50 ? 'dark' : 'light';console.log(d);}});