为什么写这个是错误的:
'use strict'
async example1 () {
return 'example 1'
}
async example2 () {
return 'example 2'
}
export { example1, example2 }
但这样很好:
export default {
async example1 () {
return 'example 1'
},
async example2 () {
return 'example 2'
}
}
这令人困惑。我认为后者也是错误的。
对此有何解释?
答案 0 :(得分:4)
第一次尝试(但失败)声明多个单独的函数,而第二次创建一个具有多个method definitions的对象文字,然后默认导出。顺便说一句,没有async
关键字也是一样的。你会想要使用
export async function example1() {
return 'example 1'
}
export async function example2() {
return 'example 2'
}
答案 1 :(得分:4)
此行为与async
或export
无关。它是ES6增强对象属性的一部分:
这些是等价的:
const foo = 123;
const a = {
foo: foo,
bar: function bar() { return 'bar'; },
baz: async function baz() { return await something(); },
};
和
const foo = 123;
const a = {
foo,
bar() { return 'bar'; },
async baz() { return await something(); },
};