Khi tôi hiểu lời hứa là một thứ có thể giải quyết() hoặc từ chối() nhưng tôi ngạc nhiên khi biết rằng mã trong lời hứa vẫn tiếp tục thực hiện sau khi giải quyết hoặc từ chối được gọi.Tại sao javascript ES6 Promises tiếp tục thực hiện sau khi giải quyết?
Tôi đã xem xét giải quyết hoặc từ chối là phiên bản thoát hoặc trả lại không đồng bộ thân thiện, điều này có thể tạm dừng tất cả thực thi chức năng ngay lập tức.
Ai đó có thể giải thích ý nghĩ đằng sau lý do tại sao các ví dụ sau đây cho thấy đôi khi console.log sau khi một cuộc gọi quyết tâm:
var call = function() {
return new Promise(function(resolve, reject) {
resolve();
console.log("Doing more stuff, should not be visible after a resolve!");
});
};
call().then(function() {
console.log("resolved");
});
câu hỏi hợp lý, nhưng sau đó một lần nữa, JS chỉ thực hiện một tuyên bố sau khi khác như bạn nói đến nó. 'resolve()' không phải là câu lệnh điều khiển JS mà kỳ diệu sẽ có tác dụng 'return', nó chỉ là một lời gọi hàm, và vâng, việc thực hiện tiếp tục sau nó. –
Đây là một câu hỏi hay và thậm chí sau khi đọc tất cả các câu trả lời, tôi không chắc chắn về các phương pháp hay nhất ... –