У меня есть обещание в классе, которое выглядит так:
someMethod() {
return new Promise(function(resolve) {
resolve(10);
}
}
Ниже я знаю, что это значение вернет 10, но я хочу передать его в myvariable, поэтому я сделал это:
var myvariable = module.someMethod.then(value => {
return value;
});
Но это не передает значение.
Как я могу это сделать?
Вместо этого вы можете использовать синтаксис async, который что-то возвращает.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


тогда метод ничего не возвращает.
Попробуй это:
var myvariable;
module.someMethod.then(value => {
myvariable = value;
makeSomethingWith();
});
вы можете сделать это как
function someMethod() {
return new Promise(function (resolve) {
resolve(10);
})
}
async function test() {
var myVar = await someMethod();
console.info(myVar)
}
if you call the test function in myVar you will get 10
Возможный дубликат Как вернуть ответ на асинхронный вызов?