Javascript 如何调用异步函数
我希望控制台先打印“1”,但我不确定如何调用异步函数并等待其执行,然后再转到下一行代码Javascript 如何调用异步函数,javascript,node.js,request,async-await,Javascript,Node.js,Request,Async Await,我希望控制台先打印“1”,但我不确定如何调用异步函数并等待其执行,然后再转到下一行代码 const request = require('request'); async function getHtml() { await request('https://google.com/', function (error, response, body) { console.log('1'); }); } getHtml(); console.log('2'); 当然,
const request = require('request');
async function getHtml()
{
await request('https://google.com/', function (error, response, body) {
console.log('1');
});
}
getHtml();
console.log('2');
当然,我得到的结果是
2
1
如果要在继续之前等待异步函数解析,或者使用
。then()
或
据
返回值
将使用异步函数返回的值解析的承诺,或使用异步函数内引发的未捕获异常拒绝的承诺
异步函数将始终返回一个承诺,您必须使用.then()
或wait
来访问它的值
异步函数getHtml(){
const request=wait$.get('https://jsonplaceholder.typicode.com/posts/1')
退货申请
}
getHtml()
.then((数据)=>{console.log('1')})
.then(()=>{console.log('2')});
//或
(异步()=>{
console.log('1')
等待getHtml()
console.log('2')
})()
将async
关键字放在函数前面,使其成为异步函数。这对函数基本上有两个作用:
wait
关键字。wait
关键字使“等待”承诺得以解决。这使我们能够以同步的方式编写异步代码。比如说李>
在您的示例中,console.log(2)
总是首先完成,因为在JS应用程序中,同步代码总是在异步代码之前完成。承诺始终是异步的,因此也是异步的,顾名思义也是异步的。欲了解更多信息,请查看
await getHtml();
console.log('2');
getHtml()
.then(() => {
console.log('2');
});