Скажем, я заменяю глобальный объект Promise
обещаниями Bluebird (например, для поддержки отмены). Если я затем напишу функцию, используя async
/await
:
async function foo() {
const response = await fetch(...);
const result = doSomethingWith(response);
return result;
}
Какое обещание возвращается здесь?
IIRC, когда код скомпилирован до ES5, он действительно вернет отменяемое обещание Bluebird, поскольку async/await преобразуется для внутреннего использования глобального объекта Promise. Но в ES7, где async/await является нативной конструкцией, будет ли он использовать конструктор Promise в глобальном объекте, или использование нативного будет жестко запрограммировано?