我想从像这样的库中声明Promise的可解析值。
// lib.js
exports.foo = function(){
return new Promise(..)
}
// main.js
import { foo } from "./lib"
let x = await foo()
等待不起作用,似乎我尝试的所有操作均导致此错误:
UnhandledPromiseRejectionWarning: Unhandled promise rejection
答案 0 :(得分:1)
请参见下文,如评论中提到的“某些性能”所述,您尚不能在顶层使用await
。另外,为了使用await
,必须将async
关键字添加到await
分辨率为Promise
的函数中。
// lib.js
exports.foo = function() {
return new Promise(..)
};
// main.js
import { foo } from "./lib";
function async main() {
let x = await foo();
};
答案 1 :(得分:0)
您只需给promise构造函数一个
以function(resolve,reject){
/* your code here with resolve(value); and reject(error);*/
}
作为参数,然后调用它并将值赋给您调用的x
var x;
foo().then(function(value){
x=value;
} ); //here you can optionally add .catch(function(error){ your error catch imp here}); if you want to catch your error