我的情景是:
var data = getData();
function getData(){
return 8;
}
function closePopup(){
console.log('close popup executed');
}
在这里,我想调用closePopup
方法完全执行getData()
函数,如同步。
由于 Rambabu B
答案 0 :(得分:1)
您可以使用async
函数等待Promise
。
function closePopup() {
console.log("Closing popUp");
}
function getData() {
return new Promise(resolve => {
setTimeout(function() { //This is to simulate an async call (Like Ajax)
resolve("Called");
}, 2000);
});
}
async function main() { // This is the async function
console.log('Waiting 2 secs...');
var data = await getData();
console.log(data);
closePopup();
return "Some value if you want!"
}
main().then(v => console.log(v)); //An async function returns a Promise.

答案 1 :(得分:0)
你可以使用promises在完成getData()
函数或getData()
函数内部之后调用函数,这将返回一个承诺,你可以在这里解决它。
var data = getData();
Promise.resolve(data).then(function(value) {
studentdata = value;
closePopup();
});