В последнее время я был худым около async/await
, и его случай похож на ссылки.
В javascript не существует указателей, операторов разыменования и т. Д., Которые существуют в языках низкого уровня, что делает javascript более простым, потому что он притворяется, что переменная хранит значение для объекта, в то время как на самом деле он хранит ссылку на объект и волшебным образом разрешает его в объект, когда он замечает, что вы действительно хотите получить данные. Таким образом, похоже, что переменная хранит сам объект.
Примерно такую же ситуацию можно наблюдать с обещаниями: когда у вас есть обещание, хранящееся в некоторой переменной, вы фактически не заботитесь о самом обещании - вы заботитесь о его значении.
AFAIK, в javascript нет указателей, потому что они вводили в заблуждение и их можно было абстрагировать. То же самое касается обещаний.
Вместо того, чтобы делать
const data = await fetch("endpoint");
вы могли бы делать
const data = fetch("endpoint");
потому что javascript выяснит, что вам нужны данные, возвращаемые при извлечении. Обещания и async / await на самом деле могут стать внутренней реализацией языка.
- Будет ли это возможно (имеется в виду, что это может быть реализовано в javascript)?
- Есть ли язык, который уже делает это?
- Хотите, чтобы это приземлилось в javasrcipt?