Javascript 异步函数示例()或异步示例()?
为什么写这篇文章是错误的:Javascript 异步函数示例()或异步示例()?,javascript,async-await,ecmascript-2017,Javascript,Async Await,Ecmascript 2017,为什么写这篇文章是错误的: 'use strict' async example1 () { return 'example 1' } async example2 () { return 'example 2' } export { example1, example2 } 但这样很好: export default { async example1 () { return 'example 1' }, async example2 () { ret
'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'
}
}
这很令人困惑。我认为后者也是错误的
对此有何解释?第一个函数尝试(但失败)声明多个单独的函数,而第二个函数创建一个包含多个函数的对象文字,然后默认导出这些函数。顺便说一句,没有async
关键字也是一样的。你会想用
export async function example1() {
return 'example 1'
}
export async function example2() {
return 'example 2'
}
此行为与
异步
或导出
无关。它是ES6增强对象属性的一部分:
const foo = 123;
const a = {
foo: foo,
bar: function bar() { return 'bar'; },
baz: async function baz() { return await something(); },
};
及
谢谢你。我可以做
baz:async baz(){return await something();},
?@teelou:No.您需要函数
关键字来定义函数(对象方法语法和箭头函数除外)。所以你可以做baz:async function(){…}
或者baz:async()=>{…}
或者baz:async function baz(){…}
@FelixKling谢谢<代码>对象方法语法和箭头函数是例外-很公平。。。
const foo = 123;
const a = {
foo,
bar() { return 'bar'; },
async baz() { return await something(); },
};