Promise - MetaTrader 5 库
npm 我 mql5-promise
承诺例子 :
#包括“计时器.mqh” #包括“索引.mqh” 空白 初始化时() { 新的承诺(printAndTimoutResolve,“111”) .then(printAndReject,“222”)// then - 如果前一个承诺得到解决则运行 .ccatch(printAndResolve,“333”)// ccatch - 如果前一个承诺被拒绝则运行 .ccatch(printAndResolve,“444”) .ccatch(printAndResolve,“555”) .then(printAndResolve,“666”) .finally(printAndResolve,“结尾”)// 最后 - 运行任何东西 。破坏();// 执行所有 Promise 后清除内存这些 Promise 打印(“开始”); // printAndTimoutResolve 111 // 打印后超时 // 开始 // 打印并拒绝 222 // printAndTimoutResolve 333 // printAndTimoutResolve 666 // printAndTimoutResolve 结束};空白承诺全部解决(乌龙承诺 ID,细绳&上一个结果[],细绳参数){ 打印(“承诺全部解决”+ 参数); };空白printAndTimoutResolve(乌龙承诺 ID,细绳上一条结果,细绳参数){ 打印(“打印和超时解决”+ 参数); 定时器::setTimout(resolveByIdStr,2000年,细绳(promiseId)); };空白通过IdStr解析(细绳id) { Promise::resolveById(乌龙(ID)); }空白打印并解决(乌龙承诺 ID,细绳上一条结果,细绳参数){ 打印(“打印并解决”+ 参数); Promise::resolveById(promiseId); };空白打印并拒绝(乌龙承诺 ID,细绳上一条结果,细绳参数){ 打印(“打印并拒绝”+ 参数); Promise::rejectById(promiseId); };
例如,承诺:全部:
空白 初始化时() { 承诺* list1[] = { 新的承诺(printAndTimoutResolve,《承诺1》) .then(printAndTimoutResolve,《承诺1.1》) , 新的承诺(打印并拒绝,《约定2》), 新的承诺(printAndTimoutResolve,《约定3》), }; Promise::all(列表1,promiseAllResolve)// 如果所有承诺都得到解决,则解决 .then(printAndResolve,“承诺::一切都解决了”) .ccatch(printAndResolve,“承诺::全部拒绝”) 。破坏();//删除所有promise // printAndTimoutResolve Promise 1 // printAndReject Promise 2 // printAndTimoutResolve Promise 3 // printAndResolve Promise::all returned 被拒绝};
承诺示例:种族:
空白 初始化时() { 承诺* list2[] = { 新的承诺(printAndTimoutResolve,《承诺1》) .then(printAndTimoutResolve,《承诺1.1》) , 新的承诺(打印并拒绝,《约定2》), 新的承诺(printAndTimoutResolve,《约定3》), }; Promise::race(list2, printAndResolve,“承诺::比赛”)// 在第一个 Promise 之后解析/拒绝 .then(printAndResolve,“承诺::比赛已解决”) .ccatch(printAndResolve,“承诺::比赛被拒绝”) 。破坏(); // printAndTimoutResolve Promise 1 // printAndReject Promise 2 // printAndTimoutResolve Promise 3 // Promise::race 被拒绝};
例如,承诺:任何:
空白 初始化时() { 承诺* list3[] = { 新的承诺(printAndTimoutResolve,《承诺1》) .then(printAndTimoutResolve,《承诺1.1》) , 新的承诺(打印并拒绝,《约定2》), 新的承诺(printAndTimoutResolve,《约定3》), }; Promise::any(list3, printAndResolve,“承诺::任何”) .then(printAndResolve,“承诺::任何解决”) .ccatch(printAndResolve,“承诺::任何拒绝”) 。破坏(); // printAndTimoutResolve Promise 1 // printAndReject Promise 2 // printAndTimoutResolve Promise 3 // printAndResolve Promise::any // printAndResolve Promise::any 已解决};
附件下载
📎 index.mq5 (2.81 KB)
📎 timer.mqh (4.42 KB)
📎 index.mqh (13.9 KB)
Source: MQL5 #54412
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
