需求在多个前置函数执行完毕后再执行相应的函数的解决办法

在uniapp上遇到一个需要有三个前置函数的请求,要求是确保执行完这三个前置函数后,再执行此请求,熟悉Promise的朋友肯定觉得不难,利用Promise异步调用前置函数,完毕后再请求响应的需求即可,但我想用es7的async和await方法,话不多说,直接上代码:

async function getDate(){
            var runb=await runB();
            var runa=await runA();
            var runc=await runC();
            console.log('3000',runa);
            console.log('6000',runb);
            console.log('9000',runc);
        }
        getDate();

结果如下:
在这里插入图片描述
是不是比Promise.all更简洁呢!大家可以多多熟悉下es7,确实更便利。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用 SetForegroundWindow API 函数一次设置多个窗口为前台窗口是不支持的。因为操作系统只能将一个窗口设置为前台窗口,而且这个窗口必须属于当前活动的进程。如果您想同时将多个窗口设置为前台窗口,您需要模拟用户的键盘和鼠标操作,依次将每个窗口激活到前台。下面是一个示例代码: ```csharp using System.Runtime.InteropServices; using System.Threading; [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool SetForegroundWindow(IntPtr hWnd); [DllImport("user32.dll")] static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); [DllImport("user32.dll")] static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, UIntPtr dwExtraInfo); [DllImport("user32.dll")] static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo); const int WM_KEYDOWN = 0x100; const int WM_KEYUP = 0x101; const int VK_MENU = 0x12; const int VK_TAB = 0x09; const uint MOUSEEVENTF_LEFTDOWN = 0x0002; const uint MOUSEEVENTF_LEFTUP = 0x0004; static void SetForegroundWindows(List<IntPtr> handles) { foreach (IntPtr handle in handles) { // 模拟 Alt+Tab 切换窗口 keybd_event(VK_MENU, 0, 0, UIntPtr.Zero); keybd_event(VK_TAB, 0, 0, UIntPtr.Zero); Thread.Sleep(100); keybd_event(VK_TAB, 0, 0x0002, UIntPtr.Zero); keybd_event(VK_MENU, 0, 0x0002, UIntPtr.Zero); // 模拟鼠标点击激活窗口 SetForegroundWindow(handle); SendMessage(handle, WM_KEYDOWN, VK_TAB, 0); SendMessage(handle, WM_KEYUP, VK_TAB, 0); mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, UIntPtr.Zero); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, UIntPtr.Zero); } } ``` 在这个示例代码中,SetForegroundWindow 函数用于将窗口设置为前台窗口,keybd_event 函数和 mouse_event 函数用于模拟键盘和鼠标操作。SetForegroundWindows 函数用于设置多个窗口为前台窗口,其参数为窗口句柄列表。这里模拟了 Alt+Tab 切换窗口和鼠标点击激活窗口的操作,通过循环依次将每个窗口激活到前台。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值