我试图从另一个文件中的一个文件(比如index.js)访问异步函数的结果。
test.js
const preMovie = async () => {
const promiseTickets = new Promise((resolve, reject) => {
console.log("abcde");
resolve('ticket is here')
});
let ticket = await promiseTickets;
return ticket;
}
preMovie().then((m) => console.log(m));
index.js
//access the value of ticket here
我的目标是仅在完成任务时将 故障单 中的值导出。我不想导出 undefined 值。我尝试过不同的解决方案,但要么让我理解太复杂,要么不能与我想要的东西融为一体。
答案 0 :(得分:1)
您可以导出一个解析为ticket
值的Promise:
// test.js
const preMovie = async () => {
const promiseTickets = new Promise((resolve, reject) => {
console.log("abcde");
resolve('ticket is here')
});
let ticket = await promiseTickets;
return ticket;
}
const moviePromise = preMovie();
//export default moviePromise;
// main.js
//import moviePromise from './test.js';
moviePromise
.then(ticket => console.log(ticket));
当然,在实际代码中使用import
和export
语句时取消注释。另一个选择是导出函数本身,调用它并在其上调用.then
,如果有可能需要多次调用该函数,或者控制其时序很重要。