const mainPost = (row, i) => { console.log(row, "主岗位触发"); change(row) Position(row) console.log(list.value, '----'); form.value.userPosts.forEach(item => { item.isMasterJob = "0" }); form.value.userPosts[i].isMasterJob = "1" if (list.value[row.postId] === "1") { getMasterJob(row.postId).then(res => { if (res.data !== null) { dialogVisible.value = true existence.value = res.data } }) } } 如何先执行change(row)在执行 Position(row)在执行下面代码
时间: 2024-04-11 19:26:17 浏览: 146
要确保先执行`change(row)`再执行`Position(row)`,你可以使用 Promise 和 async/await 来控制代码的执行顺序。以下是一个示例代码:
```javascript
const mainPost = async (row, i) => {
console.log(row, "主岗位触发");
await change(row);
await Position(row);
console.log(list.value, '----');
form.value.userPosts.forEach(item => {
item.isMasterJob = "0";
});
form.value.userPosts[i].isMasterJob = "1";
if (list.value[row.postId] === "1") {
getMasterJob(row.postId).then(res => {
if (res.data !== null) {
dialogVisible.value = true;
existence.value = res.data;
}
});
}
};
async function change(row) {
// 执行change方法的逻辑
}
async function Position(row) {
// 执行Position方法的逻辑
}
```
在上述代码中,我们将`mainPost`方法定义为一个异步函数,并在需要按顺序执行的地方使用了`await`关键字。通过将`change`和`Position`方法定义为异步函数,你可以使用`await`等待这两个方法的执行完成,然后再继续执行后面的代码。这样就可以确保先执行`change`再执行`Position`。请根据你的实际需求修改`change`和`Position`方法的具体逻辑。
阅读全文