JavaScript:如何使用异步方法?
我想得到结果:JavaScript:如何使用异步方法?,javascript,node.js,asynchronous,async-await,Javascript,Node.js,Asynchronous,Async Await,我想得到结果: 1 2 3 怎么做 我尝试了几种实现选项,但它们都不能产生我想要的结果 如果使用: var aaa = { line: function () { console.log(1) aaa.RF(); console.log(3) }, RF: async function () { await jsonfile.readFile(file, function(err, obj) {
1
2
3
怎么做
我尝试了几种实现选项,但它们都不能产生我想要的结果
如果使用:
var aaa = {
line: function () {
console.log(1)
aaa.RF();
console.log(3)
},
RF: async function () {
await jsonfile.readFile(file, function(err, obj) {
console.log(2)
})
}
}
aaa.line()
结果:
1
3
2
1
3
2
如果
结果错误
如果
结果:
1
3
2
1
3
2
您需要等待aaa.RF()。没有添加wait,它仍然将
async
函数视为async,并继续执行
var aaa = {
line: async function () {
console.log(1)
await aaa.RF();
console.log(3)
},
RF: async function () {
await jsonfile.readFile(file, function(err, obj) {
console.log(2)
})
}
}
aaa.line()
您需要等待aaa.RF()。没有添加wait,它仍然将
async
函数视为async,并继续执行
var aaa = {
line: async function () {
console.log(1)
await aaa.RF();
console.log(3)
},
RF: async function () {
await jsonfile.readFile(file, function(err, obj) {
console.log(2)
})
}
}
aaa.line()
不,结果1,3,2Try
console.log(等待新的承诺(r=>jsonfile.readFile(file,()=>r(2)))
@VINET你能用最新的代码更新你的问题吗?@samanime,请告诉我如何用这个对象完成这个任务,我会更新这个问题。我不确定你的意思。。。我给了你修复第一个示例的确切代码。不,结果1,3,2Tryconsole.log(等待新的承诺(r=>jsonfile.readFile(file,()=>r(2)))
@VINET你能用最新的代码更新你的问题吗?@samanime,请告诉我如何用这个对象完成这个任务,我会更新这个问题。我不确定你的意思。。。我为您提供了修复第一个示例的确切代码。