非同步函式的使用

2021-10-07 16:26:06 字數 589 閱讀 2208

案例:使用非同步函式完成檔案的依次讀取

const fs = require('fs');

//因為readfile方法返回的不是promise物件,而await後面只能是promise物件,所以用promisify包裝一下成promise物件

const promisify = require('util').promisify;

//將readfile包裝成返回值為promise物件的方法並接收

const readfile = promisify(fs.readfile);

//用await修飾能夠暫停非同步函式,達到依次讀取的效果並且能直接拿到函式執行的返回值

let run = async() =>

run();

非同步函式async關鍵字的特點:

await關鍵字的特點:

正確使用非同步函式的姿勢

原文 jakearchibald.com 2017 await 翻譯 瘋狂的技術宅 在編寫非同步函式時,await return與return await之間存在差異,選擇正確的處理方式非常重要。讓我們先從這個非同步函式開始 async function waitandmaybereject 複製 ...

使用Generator函式進行非同步程式設計

generator函式在工作中還沒有用到過,一直在使用async,最近在看async的原理,發現它只是generator的語法糖。generator的基礎知識之前寫過文章介紹過 這裡主要討論一下怎麼使用generator函式來進行非同步程式設計。先來看下面的 1 function g 6 const...

非同步的使用 Task

新增task 引用命名空間 using system.threading.tasks console.writeline 主線程 task task new task task.start 啟動非同步 console.writeline load 執行上面 可以看到非同步是 最後才會執行 如果想放在...