【发布时间】:2016-03-05 00:31:59
【问题描述】:
我认为Promise.resolve 和new Promise(resolve) 可以互换。
考虑一下:
一个。
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return new RSVP.Promise(function (resolve) {
resolve("HI")
});
}).then(function (result) {
console.log(result);
});
B.
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return RSVP.resolve("HI");
}).then(function (result) {
console.log(result);
});
两者都按我的预期打印“HI”。
所以我想如果我不需要“拒绝”任何东西。为简单起见,我可以写RSVP.resolve();。
但是考虑这个例子:
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return new RSVP.Promise(function (resolve, reject) {
setTimeout(function () {
resolve("HI")
}, 3000);
});
}).then(function (result) {
console.log(result);
});
如何使用RSVP.resolve(); 替换?我试过例如:
new RSVP.Promise(function (resolve, reject) {
resolve();
}).then(function () {
return setTimeout(function () {
return new RSVP.resolve("HI");
}, 3000);
}).then(function (result) {
console.log(result);
});
这会打印其他内容而不是“HI”。那么是否可以使用 RSVP.resolve();这里?这两个可以互换吗?
【问题讨论】:
标签: javascript node.js promise rsvp.js