Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
callback trong Java của Android và Spring
Anh ơi, em có một thắc mắc là ngày xưa em có code Android với Java thì họ hay code theo format callback với Interface như thế này : <p> </p> <pre> private void setTextWatcher() { mSalaryEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} /** * khi nhập từng con số nhập lương, gọi vợ và đưa lương */ @Override public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { try { if (!charSequence.toString().isEmpty()) { int salary = Integer.parseInt(charSequence.toString()); callWifeAndGiveSalary(salary); } else { callWifeAndGiveSalary(0); } } catch (NumberFormatException e) { mSalaryEditText.setError("Lương nhiều quá, vợ không dám nhận :v"); } @Override public void afterTextChanged(Editable editable) {} } }); } </pre> <p> </p> <p> Callback là ta sẽ tạo 1 listener lắng nghe event xảy ra khi người dùng click vào một button hoặc 1 tác vụ nào đó. Vậy vì sao Spring không sử dụng callback để nhận event ạ</div> </p>
Answer
Avatar
1
Trần Quốc Đạt Beginner
Promise có bất đồng bộ không?
Hello anh! Em có đọc qua Bài viết về Single thread. Bài chia sẻ rất hay, nó làm em thay đổi cả suy nghĩ trước giờ về Promise. <p> </p> <p> Trước giờ em cứ nghĩ Promise nó rất thần kì, nó sẽ tự động đưa code bên trong constructor's callback ra một "stack nào đó", đợi đến khi main stack trống, event loop push ngược lại vào main stack như setTimeout, setInterval. hay nói đơn giản là biến code đồng bộ thành bất đồng bộ. </p> <p> </p> <p> Ví dụ về Promise vẫn có thể xảy ra tình trạng blocking của anh rất hay, nó làm em nhận ra trước giờ mình đã sai về Promise. Nhưng em vẫn còn 1 điều thắc mắc: Promise có phải chỉ là một kiểu dữ liệu "wrapper" cho các service bất đồng bộ khác như WebApi, network,... bla bla và nó được viết thuần JS 100% (có nghĩa Promise vẫn là đồng bộ) không ạ? Lý do thì em nghĩ là để thay đổi cách viết bất đồng bộ bằng callback ngày xưa? </p> <pre> function runWithPromise() { let x = 0 return new Promise(res =&gt; { while (x++ &lt; 600_000_000); console.log(x) return res(x) }) } async function runWithAsync() { let x = 0 while (x++ &lt; 600_000_000); console.log(x) return x } runWithAsync() runWithPromise() console.log('Finished') </pre> <p> </p> <img class="alignnone size-full wp-image-1688" src="https://stackask.com/wp-content/uploads/2021/09/inbound6375322122086767929.jpg" alt="" />
Answer