[]
命令执行过程中可能要发送网络请求等异步操作,而后续命令希望在异步操作完成后执行。
1.通过 async await 方法实现。
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);
2.通过构建Promise对象实现。
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);