Question: This morning I logged into my pc and attempted to access remotely into a VM I have. `No connection` was the reported error. I log into my cloud console to find no projects.

Google Support is not available for me, as I have bronze package and I do not have 150$ available to upgrade it.

Are there any logs that could explain what happened? Did it just get wiped out? The instance is still there. But the machine itself is gone. I can't find any records of it. Please advise any help you can.

Answer: 
> 
> Is there some sort of spec that explicitly documents / requires this? 
> 
> 
> 

The spec used by promise libraries is the promise A+ spec. This particular requirement is [number 2.2.4](https://promisesaplus.com/#point-34). Pretty much any promise library you use will obey this, though if you need to check this, there are [tests which can verify compliance with the spec](https://github.com/promises-aplus/promises-tests)

More importantly, now that promises are a part of the language, native promises are governed by the ECMAScript specifications. Promises were first introduced in the 2015 edition, in [section 25.4](https://www.ecma-international.org/ecma-262/6.0/#sec-promise-objects). The latest completed edition as of the time of this answer is the [2018 edition](https://www.ecma-international.org/ecma-262/9.0/). The specific behavior you asked about is due to the section governing the `.then` method ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-performpromisethen)), and the section on triggerPromiseReaction ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-triggerpromisereactions)). Each of those in turn references the enqueueJob operation ([found here](https://www.ecma-international.org/ecma-262/9.0/#sec-enqueuejob))
> 
> Is there some sort of spec that explicitly documents / requires this?
> 
> 
> 

Yes, the [Promises/A+ interoperability spec](https://promisesaplus.com/#point-34) requires this.

But no, that document is not normative for the native `Promise` implementation.

> 
> Is this guaranteed for any javascript runtime that provides a native Promise implementation?
> 
> 
> 

Yes. This feature is an implicit property of the scheduling behaviour detailed in the ECMAScript specification for the native `Promise` object.

> 
> Is it the wild west, and you can't depend on it?
> 
> 
> 

You can and should depend it. Even most non-native promise implementation guarantee this due to the popularity of the Promises/A+ spec.