Làm sao để select sql lồng nhau



  • Ví dụ mình muốn select giá trị từ 1 bảng , sau đó lấy giá trị đó tiếp tục select tiếp . sau đó trả về 1 cái array gồm dữ liệu đã select từ lần đầu và lần thứ 2 , nhưng khi mình dùng 2 hàm lồng nhau thì khi trả về nó lại không hiểu thằng đầu tiên , bỏ trả về bên ngoài thằng thứ 2 thì nó lại không hiểu thằng thứ 2 , ai có thể thông não giúp e phát , tại e thấy hình như nodejs nó không chạy theo tuần tự thì phải , em mới nghiên cứu thôi mong mấy bác giúp đỡ



  • bạn muốn theo tuần tự thì dùng 1 thư viện như bluebrid, async, Q, ... đc mà.
    vd với async

    function selectQuery(args, callback) {
    	// do something
    	callback(null, result_from_db);
    }
    
    
    async.waterfall([
    	function (next) {
    		selectQuery({}, next);
    	},
    	function (result_from_db, next) {
    		selectQuery( {
    			id: result_from_db.id
    			name: result_from_db.name
    		} ,next);
    	},
    ], function (err, result) {
        console.log(require('util').inspect(result));
    });
    


  • Bạn đưa đoạn code của bạn lên thì mọi người dễ giúp hơn.



  • hoặc bạn dùng async.series theo đúng chức năng như mô tả của bạn https://caolan.github.io/async/docs.html#series


Log in to reply