- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我设置了一个返回 Promise<PFObject>
的函数.我想在 PromiseKit 的 when(fulfilled:)
中使用这个函数功能,但每当我尝试这样做时,我都会收到错误消息。这是返回 Promise<PFObject>
的函数:
func Query() -> Promise<PFObject>{
return Promise{ fulfill, reject in
let linkQueryy = PFUser.query()
linkQueryy?.findObjectsInBackground(block: { (objectss, error) in
if let objects = objectss{
for object in objects{
fulfill(object)
}
}
})
}
}
如您所见,函数在完成后返回 Promise。因此,我尝试设置一个 when
我的声明 viewDidLoad()
如下:
override func viewDidLoad() {
super.viewDidLoad()
when(fulfilled: Query()).then{
//do more asynch stuff
}
}
但是,我得到的错误是 xcode 无法“使用参数列表类型‘(fulfilled: Promise<PFObject>
)’调用‘when’”。我不知道如何解决这个问题,因为我认为我已经正确设置了它。 when
需要一个 promise ,而我正在给它一个 promise ,所以我不确定该怎么做。
最佳答案
尝试如下:
when(fulfilled: [linkQueryy()] as! [Promise<Any>]).then { _ in
// do more asynch stuff
}
参数 fulfilled:
需要是一个可迭代的。
顺便说一句,when(fulfilled:)
仅在您有很多 promise 并且需要等待所有 promise 成功完成时才需要。但在您的代码中,您只需等待一个 promise 。
对于单个 promise,更好的方法是形成一个链,如下所示:
firstly {
linkQueryy()
}.then { _ -> Void in
// do more asynch stuff
}.catch { _ in
// error!
}
关于swift - 如何设置when(fulfilled :) in PromiseKit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42880676/
这是我的错误... Thread 1: EXC_BAD_ACCESS (code=1, address=0x18) 这是我的产品请求代表... class ProductRequestDelegate
谁能解释一下这些函数是什么意思? setDate = agent.parameters.date.split('T')[0]; setTime = agent.parameters.time.spli
我正在使用 Dialogflow 开发一个聊天机器人,想验证某人的年龄。简要介绍一下背景:我正在创建一个聊天机器人来识别护理需求,例如住宅或痴呆症护理。在最初的查询中,我希望能够通过在 Dialogf
我正在使用名为 IonSound.js 的声音播放器,可以在此处找到它。 http://ionden.com/a/plugins/ion.sound/en.html 根据文档,我可以像这样监听 sou
我想在我的履行代码中获取参数的原始输入。 我尝试过: var time = agent.parameters.time.original 但结果未定义。 我已经尝试过: var query = age
我设置了一个返回 Promise 的函数.我想在 PromiseKit 的 when(fulfilled:) 中使用这个函数功能,但每当我尝试这样做时,我都会收到错误消息。这是返回 Promise 的
我正在使用 dialogflow 和 google assistant 创建一个语音机器人。我的客户提供了他的网络访问权限,这不是私有(private) URL,而是 IP。它也没有通过 SSL 认证
我是 dialogflow 实现的新手,我正在尝试根据用户问题从新闻 API 中检索新闻。我遵循了新闻 API 提供的文档,但我无法从搜索结果中捕捉到任何响应,当我在控制台中运行该函数时,它不是错误。
我们偶尔会收到“CoreData 无法完成故障”的信息。我们已阅读 Apple 文档,但不清楚允许保留哪些内容。我们非常小心地为每个线程创建一个上下文等。但是,我们的应用程序正在做的一件事是我们在 U
我一直在尝试 DialogFlow 和 Fulfillment,但直到现在我总是将 FulfillmentText 从我的 webhook 返回到我的机器人,如下所示: response = {
async function pending() { return new Promise((resolve, reject) => { resolve(1) }); } async functi
我有一个联系人应用程序,我创建了一个行动项目,最终根据用户对话决定要调用的电话号码。要调用的号码正在 后端(使用 Webhook 实现) 决定。 我想开始调用后端确定的号码(就像你在 Google 智
我在很多测试中都使用了 XCTestExpectation,有时(非常随机地)一些期望没有实现(尽管我确信它们应该是)。 在调查这个问题时,我注意到一些期望在主线程中实现,而一些在后台线程中实现。到目
这是我正在使用的导致问题的代码行: [self.managedObjectContext deleteObject:object]; 然后当它保存上下文时,它会导致崩溃: Terminating ap
(相关但不完全相同:JS Promises: Fulfill vs Resolve) 我一直在努力思考 Javascript promises,我正在努力解决 resolve 和 resolved 与
use std::any::Any; pub enum ObjectType { Error, Function, } pub trait Object { fn obj_ty
美好的一天。需要一些新鲜的眼光。不确定为什么我的 Promise 在浏览器控制台中返回“pending”: // contact.js (react) /* trim */ submitForm =
我可以运行这段代码 fn testf(host: &str) {} fn start(host: &str) { testf(host); testf(host); } 但出于某种原因
我试图在 Rust 的线程中使用方法,但我收到以下错误消息 :21:10: 21:23 error: the type [closure@:21:24: 23:14 tx:std::sync::mps
对于应用程序的最近更新,我看到许多崩溃日志都包含核心数据无法完成故障的错误。但是在应用程序(启动或其他地方)中的任何地方,我都没有删除无法实现故障的对象,也不会级联删除它们。这个错误还能怎么发生?有没
我是一名优秀的程序员,十分优秀!