私のコードは次のとおりです
リーリー予想される実行結果、コンソールには 1、2、3 が出力されるはずです
しかし、プログラムを実行すると、エラーが報告されました
これは私のものだと言うべきですyield
后面应该跟function
但是上面的demo中我的yield
后面跟的已经是function
期待される出力がないのはなぜですか?
2 番目の書き方:
リーリーco
すでにジェネレーター関数を受け入れています。上記の書き方ではコンソールに1,2,3を出力できません
PHPz2017-05-16 13:37:43
見てくださいco
库的源码就好,报错是co
库报出来的,原因是因为楼上说的返回了undefined
、具体的なエラーコードは次のとおりです:
isPromise
检测是否为Promise
,co
库先尝试将yield
后转换为Promise
,具体参见toPromise
機能:
が undefined
,所以最终toPromise
返回了undefined
,检测不是Promise
に渡されたため、エラーがスローされました。
出力がない理由については1,2,3
的原因,是因为yield
后面的关系,yield
后面是要接受函数作为参数,并且要执行这个函数的,所以yield
通常、その後に非同期操作が続きます。この関数はコールバック関数ですが、その関数なので、次のように変更してください: