如何在回调地狱中对命令排序

qf9go6mv  于 2021-07-09  发布在  Java
关注(0)|答案(0)|浏览(250)

下面的代码截取一个屏幕截图,并切断作为css选择器传递的某个元素。

  1. const imageLib = require('imagelib/imageLib');
  2. withoutElementScreenshot.prototype.command = function (selector, filename, cb) {
  3. var self = this;
  4. function execute(client, selector, filename, cb) {
  5. client.element('css selector', selector, function (element) {
  6. client.elementIdLocationInView(element.value.ELEMENT, function (location) {
  7. client.elementIdSize(element.value.ELEMENT, function (size) {
  8. client.takeScreenshot(filename, function () {
  9. imageLib(filename).pngToData(function () {
  10. for (var x = location.value.x; x < size.value.width + location.value.x; x++) {
  11. for (var y = location.value.y; y < size.value.height + location.value.y; y++) {
  12. this.setPixel(x, y, 255, 255, 255, 255);
  13. }
  14. }
  15. this.toPng(filename, function () {
  16. client.log('Screenshot without element would be saved into ' + filename);
  17. cb();
  18. });
  19. });
  20. });
  21. });
  22. });
  23. });
  24. }

如何传递选择器数组以将其全部切断?我无法遍历数组,因为takescreenshot函数位于回调之间。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题