【发布时间】:2018-09-20 07:09:53
【问题描述】:
我不想编写一个单独的函数来在我的第一次调用中返回一个 Promise。我只想写这个:
firstly
{
return Promise<Bool>
{ inSeal in
var isOrderHistory = false
let importTester = CSVImporter<String>(url: url)
importTester?.startImportingRecords(structure:
{ (inFieldNames) in
if inFieldNames[2] == "Payment Instrument Type"
{
isOrderHistory = true
}
}, recordMapper: { (inRecords) -> String in
return "" // Don't care
}).onFinish
{ (inItems) in
inSeal.resolve(isOrderHistory)
}
}
}
.then
{ inIsOrderHistory in
if inIsOrderHistory -> Void
{
}
else
{
...
但是我搞错了。 ImportMainWindowController.swift:51:5: Ambiguous reference to member 'firstly(execute:)'
示例代码或文档似乎都没有涵盖这个(我认为是)基本用例。在上面的代码中,CSVImporter 在后台队列上运行并异步调用方法(尽管按顺序)。
我无法弄清楚 Promise 或 firstly 的完整类型规范应该是什么。
【问题讨论】:
标签: swift promisekit