nodejs 異步轉同步整理


主要是集中參考使用方法,可以結合自己的場景解決問題

參考代碼

const co =require("co")
const AsyncUtil = require('async-utility').default;
async function demo(){
    return {
        name:"dalong",
        age:33
    }
}
var result =co(function* () {
    var result = yield demo();
    console.log("co result:",result)
    return result;
  })
 
 
let myresult = AsyncUtil.resolvePromise(result)
 
console.log("AsyncUtil",myresult)
 
 
function* demoapp(){
    yield demo();
    yield demo();
}
 
let appdemo = demoapp().next()
 
appdemo.value.then(data=>{
    console.log(data)
})
 
let myresult2 = AsyncUtil.resolvePromise(appdemo.value)
 
console.log("generate",myresult2);
 
(async ()=>{
    let info =await demoapp().next().value
    console.log("await info",info)
})()

說明

以上包含了async/await 以及generator,co,async-utility(依賴deasync),同時推薦還是別使用deasync,以下有參考連接

參考資料

https://joecreager.com/5-reasons-to-avoid-deasync-for-node-js/
https://github.com/tj/co


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM