У меня есть следующая функция, которая использует Обещание.
var getDefinitions = function() {
return new Promise(function(resolve) {
resolve(ContactManager.request("definition:entities"));
});
}
var definitions = getDefinitions()
Содержание definitions
:
Promise {
[[PromiseStatus]]: "resolved",
[[PromiseValue]]: child
}
Доступ PromiseValue
свойство непосредственно возвращается неопределенный
var value = definitions.PromiseValue; // undefined
Что делает двойные скобки [[ ]]
средний, и как я получаю значение [[PromiseValue]]
.
Вот способ получить доступ PromiseValue
(promise
):
let promises = definitions;
Promise.all(promises).then((promise) => {
console.log('promises = ', promises);
console.log('promise = ', promise);
});
Попытайтесь использовать , ждут .
Вместо
var value = definitions.PromiseValue
использование
var value = await definiton;
Это могло бы решить Вашу цель путем получения значения обещания.
Примечание, которые ждут, может только использоваться в асинхронных функциях, и это - функция ES2016.
Для случая, когда возвращенным ответом является HTML, не JSON
fetch('http://localhost:3000/hello')
.then(response => response.text())
.then(data => {
// you can see your PromiseValue data here
console.log(data)
})