unwrap thennable
This commit is contained in:
parent
efae454bd4
commit
5ecc942abd
6 changed files with 34 additions and 4 deletions
|
|
@ -319,7 +319,8 @@ new function(window) {
|
|||
list.push(function(value) {
|
||||
try {
|
||||
var result = callback(value)
|
||||
next[method](result !== undefined ? result : value)
|
||||
if (result && typeof result.then == "function") result.then(next[method], error)
|
||||
else next[method](result !== undefined ? result : value)
|
||||
}
|
||||
catch (e) {
|
||||
if (e instanceof Error && e.constructor !== Error) throw e
|
||||
|
|
@ -773,6 +774,20 @@ function testMithril(mock) {
|
|||
deferred.resolve("test")
|
||||
return value1 === undefined && value2 instanceof Error
|
||||
})
|
||||
test(function() {
|
||||
var deferred1 = m.deferred()
|
||||
var deferred2 = m.deferred()
|
||||
var value1, value2
|
||||
deferred1.promise.then(function(data) {
|
||||
value1 = data
|
||||
return deferred2.promise
|
||||
}).then(function(data) {
|
||||
value2 = data
|
||||
})
|
||||
deferred1.resolve(1)
|
||||
deferred2.resolve(2)
|
||||
return value1 === 1 && value2 === 2
|
||||
})
|
||||
|
||||
//m.sync
|
||||
test(function() {
|
||||
|
|
|
|||
2
archive/v0.1.3/mithril.min.js
vendored
2
archive/v0.1.3/mithril.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue