我正在阅读一段代码
import { Observable } from 'rxjs/Observable';
// PROMISE
const myPromise = new Promise((resolve) => {
console.log('Hello from Promise');
resolve(1);
});
myPromise.then(o => console.log(o));
myPromise.then(o => console.log(o));
// OBSERVABLE
const myObservable = Observable.create((observer) => {
console.log('Hello from Observable');
observer.next(1);
observer.next(2);
observer.next(3);
});
myObservable.subscribe(o => console.log(o));
myObservable.subscribe(o => console.log(o));
以上代码的输出是
Hello from Promise
Hello from Observable
1
2
3
Hello from Observable
1
2
3
1
1
除了最后两个,我理解一切 1 1 在最后两个1,1弹出窗口的输出中?
源代码来自本文
https://codeburst.io/rxjs-by-example-part-2-8c6eda15bd7f
请帮助。
答案 0 :(得分:1)
最后1 1来自承诺
'connections' => [
'mysql' => [
'driver' => 'mysql',
'host' => 'localhost',
'database' => env('DB_DATABASE', 'homestead'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => true
]
],
因为你的observable是一个同步函数,但是promise的解析是异步的,这就是它最后被调用的原因。