Tag: promise

异步执行多个任务并在JavaScript函数中返回第一个成功的结果

我必须编写一个javaScript函数,将一些数据返回给调用者。 在该函数中,我有多种方法来检索数据,即 从缓存中查找 从HTML5 LocalStorage中检索 从REST后端检索(奖励:将新数据放回缓存中) 每个选项可能需要自己的时间来完成,它可能会成功或失败。 我想要做的是,异步/并行地执行所有这三个选项,并返回先返回的结果。 我理解JavaScript中不可能并行执行,因为它是单线程的,但我想至少异步执行它们并取消其他任务,如果其中一个返回成功结果。 我还有一个问题。 提前返回并继续执行JavaScript函数中的剩余任务。 伪代码示例: function getOrder(id) { var order; // early return if the order is found in cache. if (order = cache.get(id)) return order; // continue to get the order from the backend REST API. order = cache.put(backend.get(id)); return order; } 请建议如何在JavaScript中实现这些要求。 到目前为止发现的解 最快的结果 JavaScript ES6解决方案 […]