Discuss
/
JavaScript
/
不明白这个表述
不明白这个表述
Topic source楼主的猜测是对的,文中表述不太严谨,廖大偶尔会手滑. 2楼3楼两位朋友太迷信,不是学习的正确态度.
var job2=function (r) {
log('Done: ' + r);
};
var job3=function (reason) {
log('Failed: ' + reason);
};
var job1 = new Promise(function (resolve, reject) {
log('start new Promise...');
var timeOut = Math.random() * 2;
log('set timeout to: ' + timeOut + ' seconds.');
setTimeout(function () {
if (timeOut < 1) {
log('call resolve()...');
resolve('200 OK');
}
else {
log('call reject()...');
reject('timeout in ' + timeOut + ' seconds.');
}
}, timeOut * 1000);
}).then(job2).catch(job3);
console.log(job1 instanceof Promise);
console.log(typeof(job1));
//console.log(typeof(job1.then(job2)));
console.log(typeof(job2));
console.log(job2 instanceof Promise);
//console.log(typeof(job1.then(job3)));
console.log(typeof(job3));
console.log(job3 instanceof Promise);
用廖大自己的示例演示一下,job2,job3type是function,job1的type是object. job1.then(job2) 这个表达式才返回一个Promise,链式就得这样才玩得下去. 看见job1是Promise,就想当然地认为job2,job3也是promise,这是被廖大忽悠瘸了.
- 1
请输入昵称yy
job1.then(job2).then(job3).catch(handleError);
其中,job1、job2和job3都是Promise对象。 不明白 我觉得job1是Promise对象,job2,3应该是异步函数