Channel queue with Promises