Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 意外标记'*';预计会有一个开幕式';(';在函数的参数列表之前)_Javascript_Ios_Generator_Ecmascript 5 - Fatal编程技术网

Javascript 意外标记'*';预计会有一个开幕式';(';在函数的参数列表之前)

Javascript 意外标记'*';预计会有一个开幕式';(';在函数的参数列表之前),javascript,ios,generator,ecmascript-5,Javascript,Ios,Generator,Ecmascript 5,iOS9似乎不喜欢javascript生成器函数*。我目前正在尝试解决iOS上的承诺问题,我的代码如下所示: ... myFunction: function() { return this.spawn(function*() { yield MyApp.function(); }); return; }, ... 这导致iOS 9上出现以下错误: 意外标记“*”应在函数的 参数表 你知道兼容的替代方案吗

iOS9似乎不喜欢javascript生成器
函数*
。我目前正在尝试解决iOS上的承诺问题,我的代码如下所示:

...

    myFunction: function() {
        return this.spawn(function*() {
            yield MyApp.function();
        });
        return;
    },
...
这导致iOS 9上出现以下错误:

意外标记“*”应在函数的 参数表


你知道兼容的替代方案吗?

iOS 10支持生成器。如果你坚持使用iOS 9,那么你必须实现自己的伪生成器。生成器协议有
下一个
返回
抛出
,和
[Symbol.iterator]
方法。您只能实现所需的方法。例如,下面是
[Symbol.iterator]
的实现:

让createGenerator=values=>()=>({
[符号.迭代器](){
设i=0;
返回{
下一个:()=>({
值:值[i++],
完成:i>values.length
}),
//下一个
//返回
//扔
}
}
});
让realGenerator=函数*(){
产量1;
产量2;
产量3;
产量4;
};
设fakeGenerator=createGenerator([1,2,3,4]);
log(…realGenerator());

console.log(…fakeGenerator());
但是iOS 9似乎在语法方面确实有问题
函数*()
我不确定它是否能工作:/因此,我的解决方案(
createGenerator
)避免了
函数*()
好的,抱歉