在调用第三方工具库的时候,有时别人封装的方法是通过方法的回调去执行,但是我们如果想遍历调用就不好控制调用的顺序,面对这种情况有如下解决方法:
// 普通匿名函数实现
(function test(i) {
if (i == objects.length) {
return;
}
fabric.Polygon.fromObject(objects[i], (e) => {
e.set("selectable", false);
canvas.add(e);
test(i + 1);
});
})(0);
// 箭头匿名函数实现
let test = (i) => {
if (i == objects.length) {
return;
}
fabric.Polygon.fromObject(objects[i], (e) => {
e.set("selectable", false);
canvas.add(e);
test(i + 1);
});
};
test(0);