Friday, February 27, 2015

Javascript: wrapping sync calls in a promise to they can be chained with async calls

Another StackOverflow answer that was recieved well by the person who asked the question was my answer on this question:

Here's the question:

So he's basically doing a bunch of async calls mixed with synchronous operations / mappings. In order to get a nice clean call chain - I wrapped all the synchronous things in a promise wrapper, so that all promises could be nicely chained:

Here's the direct link to the fiddle:


  1. That last one in the chain is a cherry. Returning a reference to itself as the resolve function for the last promise in the chain... nice find.

  2. Another way to solve these kind of problems is using a framework like Meteor Requires severside tech as well though so might not be applicable in this very instance. You get reactive programming in combination with websockets: event driven response of the client instead of polling a back-end every x seconds...

  3. Dude - did you just give me a compliment ?! That's the first one EVER :)
    I'm actually a bit ambiguous about that last call, because will it not result in a stackoverflowexception in time?

  4. Hiện nay, nhu cầu người tiêu dùng mua hàng trên amazon cao. Hôm nay chúng tôi xin chia sẽ Kinh nghiệm mua hàng trên Amazon để bạn có thể mua hàng trên amazon một cách đơn giản và nhanh nhất. Có nhiều bạn đọc thắc mắc rằng: Mua hàng trên amazon có uy tín không hãy cùng tham khảo bài viết để tìm ra cho mình câu trả lời chính xác nhất nhé.
    Nếu sử dụng chăn điện một cách nguyên tắc như đã kể trên thì đây là một sản phẩm tuyệt đối an toàn khi sử dụng do thiết kế với một lớp ruột cách điện, chống cháy dùng chăn điện có an toàn không. Ngày cưới là một ngày trọng đại của các cặp đôi, và chăn ga gối đệm cho ngày cưới là một trong những vật dụng không thể thiếu. Vậy mua chăn ga gối đệm cho phòng cưới ở đâu giá rẻ và đẹp nhất, thích hợp nhất cho ngày cưới. Chúng tôi chuyên cung cấp mua chăn ga gối đệm ở đâu rẻ và đẹp nhất năm 2017 tại likado.