我正在尝试在量角器上实现排序方法ElementArrayFinder.众所周知,所有量角器方法都会返回承诺.所以我的排序方法有一个依赖于promises解决方案的条件.我正在使用节点插件,async/await以使其与低于6的node.js版本兼容.(这里的插件:https://www.npmjs.com/package/asyncawait)
在这里我的代码,其中this是ArrayElementFinder:
var asyncCompare = async(function(a, b) {
let x = await (a.getText());
let y = await (b.getText());
console.log(x.localeCompare(y));
return x.localeCompare(y);
});
var sortTheArray = async(function(arrayOfElementFinders) {
return await (arrayOfElementFinders.sort(asyncCompare));
});
this.then((elements) => {
let arrayOfElementFinders = [elements[0], elements[1], elements[2]];
let sortedArray = sortTheArray(arrayOfElementFinders);
console.log('array sorted');
});
Run Code Online (Sandbox Code Playgroud)
不幸的是,时序执行不是我期望的.印刷:array sorted发生在比之前的印刷品上x.localeCompare(y).知道我做错了什么吗?任何想法如何实现我的目标?
非常感谢您的帮助