如何拒绝async/await函数返回的promise?
例如,最初
foo(id: string): Promise<A> {
return new Promise((resolve, reject) => {
someAsyncPromise().then((value)=>resolve(200)).catch((err)=>reject(400))
});
}
Run Code Online (Sandbox Code Playgroud)
转换为async/await
async foo(id: string): Promise<A> {
try{
await someAsyncPromise();
return 200;
} catch(error) {//here goes if someAsyncPromise() rejected}
return 400; //this will result in a resolved promise.
});
}
Run Code Online (Sandbox Code Playgroud)
那么,在这种情况下,我怎么能正确地拒绝这个承诺呢?
javascript asynchronous typescript es6-promise ecmascript-2017
var err1 = Error('message');
var err2 = new Error('message');
Run Code Online (Sandbox Code Playgroud)
有什么不同?在Chrome控制台中查看它们,它们看起来完全相同.对象和同一__proto__链上的相同属性.几乎看起来像Error一个工厂.
哪一个是正确的,为什么?