qml button 点击异步执行莫个函数
时间: 2023-05-23 20:05:07 浏览: 158
A:在QML中,可以通过使用JavaScript函数来实现按钮点击时异步执行某个函数。代码示例如下:
```
Button {
text: "Click Me"
onClicked: {
// 异步执行
var promise = someAsyncFunction();
promise.then(function(result) {
console.log(result);
// 执行成功
}).catch(function(error) {
console.log(error);
// 执行失败
});
}
}
function someAsyncFunction() {
// 使用Promise模拟异步操作
return new Promise(function(resolve, reject) {
setTimeout(function() {
var success = Math.random() >= 0.5;
if (success) {
resolve("Success");
} else {
reject("Error");
}
}, 1000); // 模拟1秒后返回结果
});
}
```
在这个例子中,当按钮被点击时,会执行名为`someAsyncFunction`的函数,该函数返回一个Promise对象,用于模拟异步操作。在`promise.then()`中可以添加执行成功后的回调函数,而在`promise.catch()`中可以添加执行失败后的回调函数。在本例中,回调函数只是简单地打印了执行结果和错误信息。
阅读全文