当我刷新多个数据源时,我使用带有upshot js的Iced coffescript。刷新方法有两个回调,一个表示成功,另一个表示错误,我希望等待每个调用进行回调。
我看不出如何在不创建附加功能的情况下使用idced的咖啡脚本来执行此操作。我的问题是 - 有没有一种更优雅的方式,我可以服从多个回调之一?
这是我目前拥有的代码:
refreshMe = (key, value, result) =>
value.refresh(
(success)=>
result success
,
(fail, reason, error)=>
result undefined, fail
)
@refresh = () =>
success={}
fail={}
await
for key, value of @dataSources
refreshMe key, value, defer success[key], fail[key]
冰镇。对于这种情况,显式地进行了集合库:在多个回调的第一个返回。从文档中:
这里有一个例子,展示了一个集合点的不同输入和输出。它执行两次并行DNS查找,并仅在第一次返回时报告:
hosts = [ "okcupid.com", "google.com" ];
ips = errs = []
rv = new iced.Rendezvous
for h,i in hosts
dns.resolve hosts[i], rv.id(i).defer errs[i], ips[i]
await rv.wait defer which
console.log "#{hosts[which]} -> #{ips[which]}"
下面是我用来转换promise的一些代码。然后(-
# You can write like this:
await value.refresh esc defer e, result
# onError - function to be called when promise rejected.
# onSuccess - function to be called when promise is fulfilled.
module.exports = esc = (onError, onSuccess) ->
util = require 'util'
return (result) ->
if util.isError result
# Always send back an error to first handler.
onError? result
else if onSuccess?
console.log onSuccess, result
# `await fn esc done, defer result`
onSuccess? result
else
# `await fn esc done`
onError? null, result
您可以稍微修改 esc
函数以处理每个回调的多个参数。
这也是我找到的唯一方法。我在主干中使用它,并用@icedSave包装(例如)模型的@save函数:
# An IcedCoffeescript friendly version of save
icedSave: (callback) ->
@save {},
success: (model, response) -> callback(true, model, response)
error: (model, response) -> callback(false, model, response)
如何使用和在中返回情侣值? 没有< code>autocb,我可以: 如何使用实现这一点?此代码... …抛出错误:
我在< code >冰咖啡脚本中使用了< code>try catch块。我调用了不存在的对象< code>a的不存在的方法< code>fake,并期望捕获错误。 但是在调用函数 a.fake()后,在控制台中抛出错误,但它没有按预期使用块。 如果我注释掉字符串<code>并等待数据库。查找“79”,将其延迟到c,d。。。 ...它按预期工作,错误被捕获。 我试图通过其他简单的异步函数调用来改变
问题内容: 尝试使用TowerJS作为测试设置基本站点,但是在运行脚手架生成器时遇到此错误。 问题答案: 更新您的package.json文件 在“ devDependencies”上并再次更新npm 为我解决了同样的问题
在我的主要活动中,我有initUi函数,它将触发对webviewActivity的意图,在webviewActivity中,有一个FragWebView,其中加载了url。 以下是来自FragWebView的示例代码: 我从我的主要活动中传递打开webview的意图是: 请让我知道如何解决这个问题。 问候
1.实习的项目 怎样实现视频进度拖动播放 怎样实现文字限制行数 怎样实现图片或者视频上传服务器 2.数组去重 3.mongoose 和mongodb区别 4.html语义化标签 5.cookie与session 是干什么的 有什么用 6.express中间件 7.git基本指令 8.发生冲突怎样合并分支 9.vue组件传值 9.有没有部署过项目在服务器 10.未来的打算 11.上次实习最大的困难
ListView的页脚如下所示(footer.xml): 在录制脚本时(通过Android Studio中的“Record Espresso Test”),我收到了以下代码,以单击按钮“Next”: