首页 > 解决方案 > 如何处理返回 Promise 的函数

问题描述

我想从这样的库中声明 Promise 的解析值。

// lib.js
exports.foo = function(){
    return new Promise(..)
}

// main.js
import { foo } from "./lib"

let x = await foo()

等待不起作用,似乎我尝试过的一切都导致了这个错误: UnhandledPromiseRejectionWarning: Unhandled promise rejection

标签: javascripttypescriptes6-promise

解决方案


见下文,正如评论中提到的CertainPerformance,您还不能await在顶层使用。此外,为了使用await,您必须将async关键字添加到await解析 a的函数中Promise

// lib.js
exports.foo = function() {
    return new Promise(..)
};

// main.js
import { foo } from "./lib";

function async main() {
    let x = await foo();
};

推荐阅读