Appearance
支持异步命令
命令执行过程中可能要发送网络请求等异步操作。而后续命令希望在异步操作完成后执行。
- 通过 async await 方法实现
javascript
class MyPluginCommand extends Forguncy.Plugin.CommandBase{
async execute() {
const response = await fetch("http://urlYouWhatToAccess/");
const resultText = await response.text();
console.log(resultText);
}
}
Forguncy.Plugin.CommandFactory.registerCommand("MyPlugin.MyPluginCommand, MyPlugin", MyPluginCommand);- 通过构建Promise对象实现
javascript
class MyPluginCommand extends Forguncy.Plugin.CommandBase{
execute() {
return new Promise((resolve, reject) => {
setTimeout(() => {
this.log("异步方法被执行,之后会执行后续逻辑");
resolve();
}, 3000);
});
}
}
Forguncy.Plugin.CommandFactory.registerCommand("MyPlugin.MyPluginCommand, MyPlugin", MyPluginCommand);更新: 2022-12-04 23:23:31
原文: https://www.yuque.com/robert-bh51n/ea8l6c/hob3vicw97cudgx7