- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我想知道 promise 的响应和拒绝对象是怎么回事。我正在读这个tài liệu有些事情我还不清楚。
Ví dụ,resolve()
对象是关于什么的。
我已经看到这个东西可以包含在一个字符串中,然后启动 resolve()
?这是怎么回事,这有什么意义
var promise1 = new Promise(function(resolve, reject) {
setTimeout(function() {
resolve('foo');
}, 300);
});
我最初认为只要回调函数返回一个值,解析函数/对象就会启动然后它可以继续 .then()
所以我已经研究了一段时间,结果证明我的返回决心理论在 50% 的时间里有效,另外 50% 的时间让我崩溃。
还有拒绝对象/函数,当假设函数的结果为 0 但它必须为 1 以便我可以继续时,你如何启动它?
var promise1 = new Promise(function(resolve, reject) {
if(someFunction() === 0)
{
reject();
} khác {
resolve()
}
});
此代码仅在我的 someFunction()
中有效,我没有任何异步函数,而且当我有任何异步函数时,它总是返回 undefined。
所以到目前为止,promise 的概念及其用途对我来说还不是很清楚。
1 Câu trả lời
你是对的,只要回调函数返回一个值,resolve 函数(哦,它们是函数)就会启动。
在你出现的情况下,该值返回它的“foo”
即使它不是一个函数,它也等同于让一个函数返回一些东西。所以在这一点上一切都很好。
事实上,当回调函数有任何一段异步代码时它不起作用,这只是因为如您所说,它返回未定义。该函数尚未完成运行,因此它会返回该函数。它不等待它。我能想到的解决你们两个问题的最简单的解决方案是将 resolve 和 reject 对象传递给回调函数并从内部启动它们
Ví dụ
var promise1 = new Promise(function(resolve, reject) {
someFunction(resolve,reject);
});
function someFunction(resolve,reject){
var i = 0;
setTimeout(function() {
if(i===0){
reject(/**You can even pass it some variables here if u wanted*/);
} khác {
resolve(/**Same here*/); // this should work just fine and it will sucesfully launch .then with whatever u need returned
}
}, 300);
}
关于JavaScript promise 、解决、拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56513590/
Các lệnh gọi phương thức @Cacheable trong cùng một lớp là không hợp lệ. Trong hình trên, phương thức genLiveBullets() trong cùng một lớp gọi phương thức queryLiveByRoom() trong cùng một lớp. Ngay cả khi thẻ Cacheable được đánh dấu,
Nội dung @Chú thích giao dịch gây ra lỗi chuyển đổi động để thay đổi cơ sở dữ liệuSử dụng các kịch bản để giải quyết vấn đề @Giao dịch
@RequestBody không thể khớp với kiểu lớp. Khi bạn thử sử dụng chú thích @RequestBody để tải chuỗi và gửi nó bằng cách sử dụng post (có vẻ như nó chỉ có thể được đăng) và chuyển nó sang định dạng dữ liệu Json,
Nội dung @Autowired tiêm tĩnh giao diện vấn đề @Autowired tiêm tự động dịch vụ thông thường rất tiện lợi, nhưng nếu bạn tiêm tĩnh sửa đổi dịch vụ
Nội dung Một số thuộc tính @RequestBody bị thiếu Mô tả sự cố Triển khai JavaBean Triển khai bộ điều khiển
Mục lụcGiải quyết vấn đề tiếp nhận không đầy đủ các tham số @PathVariableVấn đề gặp phải ngày hôm nay là: Giải pháp: @PathVariable chấp nhận các tham số
Gần đây, tôi phát hiện trong dự án rằng sau khi tôi sử dụng @Transactional để chú thích giao dịch, ngoại lệ đã được đưa ra nhưng không được khôi phục. Sau đó, lý do cuối cùng đã được tìm ra. Nếu bạn gặp phải trường hợp này, bạn có thể bắt đầu khắc phục sự cố theo cách sau. 1. Tính năng Đầu tiên chúng ta hãy tìm hiểu về @Trans
Tổng quan: ? 1
Kịch bản: Khi xử lý các tác vụ theo lịch trình, vì các phương thức này là phương thức tĩnh, hãy sử dụng chú thích @Around trong khía cạnh aop để theo dõi xem có bất kỳ ngoại lệ nào trong lệnh gọi phương thức hay không. Phát hiện aop không có hiệu lực. Mã như sau:
Khi tôi đang làm một dự án gần đây, một người dùng yêu cầu tôi tải lên một bức ảnh lớn. Một bức ảnh có thể lớn hơn 10 MB. Bộ điều khiển tải lên của bên thứ ba mà tôi sử dụng có cài đặt giới hạn kích thước của bức ảnh được tải lên. Cài đặt trước đó là 2 MB.
Tôi đã triển khai mã tham chiếu SCIM này vào ứng dụng của chúng tôi. Mã tôi triển khai đã vượt qua tất cả các bài kiểm tra của người dùng có trong liên kết postman này. . API SCIM của tôi cũng được Azure chấp nhận
Tôi luôn cảm thấy khó chịu vì "sau đó" không được phục vụ, và tôi hiểu tại sao. Tuy nhiên, tôi vẫn cần phải giải quyết vấn đề này. Đây là trường hợp sử dụng của tôi. doWork(gia đình) { trả về doWork1(gia đình)
Tôi đang cố gắng tìm hiểu xem liệu tin nhắn trong kênh có còn tồn tại hay không, tuy nhiên, tôi không chắc cách giải quyết lời hứa. Khi xem các câu trả lời khác và tài liệu, tôi thấy có thể thực hiện được bằng một hàm, nhưng tôi không chắc chắn cách thực hiện. Tôi hy vọng sẽ nhận được một số
Tôi gặp phải tình huống sau: 2 dự án Eclipse trong cùng một không gian làm việc: Apa và Bepa (tên viết tắt được sử dụng cho ngắn gọn). Dự án Apa tham chiếu (bao gồm) dự án Bepa. Tôi có một lớp X ở Bepa với public (publ
Câu hỏi này đã có câu trả lời: Tại sao tôi gặp lỗi NoClassDefFoundError trong Java? (31 câu trả lời) Đã đóng 6 năm trước. Tôi đang cố gắng học về mùa xuân. Vì vậy tôi gõ
Tôi đang viết một trò chơi nhỏ trong đó có nhiều vòng tròn di chuyển trên màn hình. Tôi quản lý các vòng tròn trong hai luồng như thế này: public void run() { int stepCount = 0; int dx;
Tôi gặp vấn đề khi giải phương trình bằng Sympy. Khi tôi chạy mã, ví dụ: print(correction(10)), tôi mong đợi nó in ra số f. Thay vào đó, nó trả về lỗi: Quá trình thực hiện bị hủy bỏ. def correction(r): từ
Vâng, tôi gặp vấn đề này với mọi trang tôi tạo. Tôi không chắc mình đã làm sai điều gì nhưng không phải tất cả các trang của tôi đều hoạt động ở mọi độ phân giải. Có lẽ là do tôi đang sử dụng màn hình rộng? lol Tôi không chắc nhưng ở độ phân giải màn hình nhỏ hơn thì nó sẽ không bao giờ trông đúng. Một số phần của nó bạn
Tôi đang cố gắng thực hiện một kiểm tra sắp xếp văn hóa rất đơn giản như thế này if(culture.ToUpper() == "ES-ES" || "IT-IT") { //do something } else
Đã đóng. Câu hỏi này không liên quan đến chủ đề. Hiện tại không chấp nhận câu trả lời. Tìm hiểu thêm. Bạn có muốn cải thiện câu hỏi này không? Cập nhật
Tôi là một lập trình viên xuất sắc, rất giỏi!