Chuyển từ async sang sync function



  • Mọi người cho mình hỏi có module nào hỗ trợ chuyển từ async func sang sync func ok không ?
    Và nếu chuyển như vậy thì có nguy cơ gì cần phải chú ý không ?
    Mình cảm ơn nhiều !



  • Bạn nên tìm hiểu về cái này Promise , Yield , async/await
    cá nhân mình đang dùng Promise với async/await thông qua babel



  • @Dao-Quang-Phuong88 Ok. Cảm ơn bạn :D
    Nhân tiện cho mình hỏi thì khi nào thì nên dùng sync func(), nếu lạm dụng hay là dùng nhiều thì có vấn đề gì ko bạn?



  • Thật ra thì không có chuyển từ Async thành Sync như bạn nói được đâu, các cách trên chỉ là những cách để xử lý Async trong JS thôi.
    Mình có thể hỏi bạn hiểu thế nào là asynchronous, synchronous k ?



  • @CodeConCat @CodeConCat Về lý thuyết thì mình hiểu. nhưng mà có mấy cái mình cũng hơi rối. bạn có thể giải đáp giúp mình không?

    Ví dụ, mình có 1 đoạn code sau:

    user.findAll()
    .then(function(_data){
        var arr = []
        _data.map(function(i){
            arr.push(i.id)
        })
    
        res.json(arr)
    })
    

    Có khi nào cái _data.map kia nó chưa chạy xong mà cái res.json nó đã chạy mất rồi không? Nếu có thì phải làm sao?



  • bạn có ví dụ khác hông? Bởi vì trong trường hợp này: Array.map là synchronous function, cho nên nó chạy xong rồi thì cái res.json nó mới chạy



  • Cách của bạn đang làm ở trên là là cách từ thế giới của OOP, dùng vòng lặp ( for, forEach ... ) và bạn đang dùng sai Array.prototype.map()
    Mình nghĩ vậy sẽ đúng và gọn hơn : res.json(_data.map(i => i.id))


Log in to reply