【发布时间】:2016-07-25 07:19:15
【问题描述】:
代码是这样的。
//Extending a Nativescript module.
var test = ImageProvider.extend({
getImage: function(url){
//async call to get the image from cache
cacheService.getImage(url,
function(image){
return image
},
function(error){
return null
});
}
});
如何防止 getImage 函数在提供图像之前返回? 我不喜欢使用 typescript 或 babel 来解决问题。但如有需要请指教。 (也试过 babel,打字稿没有任何运气) 我尝试通过设置来使用 await 和 yield:
"android": {"v8Flags": "--expose_gc --use_strict --harmony"}
在 package.json 文件中没有成功。
使用产量给出错误的示例
"use strict"
function onNavigationgTo(args){
yield test();
}
function* test(){
return 1;
}
在我添加 yield 关键字之前它可以正常工作。使用 yield 给出以下结果。 SyntaxError: Unexpected strict mode reserved word File : "unknown"
【问题讨论】:
-
当您尝试使用
yield和await时,您的代码看起来如何? -
@AlexanderO'Mara :我正在扩展(在 java 中覆盖)一个函数。所以我不能完全控制这个功能。然后我会使用承诺或回调。我看到还建议yield,await和fibers(找不到进程对象)。我已经尝试过它们,但无法让它们在 Nativescript 中按预期工作。 (都给我错误)。所以我认为这个问题与如何在 Nativescript 中完成有关。因为等待等应该是可能的,所以我知道 es 6。据我所知,Nativescript 使用 es 5。但希望 --harmony 标记应该是可能的。
-
@t.niese 我已经使用产量更新了一个样本。您是否看到代码中的任何问题。看起来我无法使用生成器。