网站搜索
我知道从技术上讲,JavaScript 的 promise 既不是函子也不是 Haskell 意义上的单子,因为(除了其他原因)
是否可以在 CosmosDB(DocumentDB)存储过程 API 调用中使用 JavaScript Promise 替代常规回调?一种用法是实现分页。
例如
token = getToken(); doSomething(token); //.... function getToken(....) { //... collection.queryDocuments(link, query, queryOptions, function(error, documents, responseOptions) { return re 阅读更多 →
我收到了一个 “UnhandledPromiseRejectionWarning: Unhandled promise rejection.” 错误,这个错误不让我执行上面的这个简单请求:
app.get('/', function (req, res) { const GITHUB_AUTH_ACCESSTOKEN_URL = 'https://github.com/login/oauth/access_token' const CLIENT_ID = '123' const CLIENT_SECRET = '456' axios( 阅读更多 →
如果我们知道一个 Promise 肯定已解决,我们如何访问其值?如果不能,为什么不能?
let a = Promise.resolve(123); console.log(a.value); // ???以下方法不起作用——它打印“First, Last, 123”
console.log("First"); Promise.resolve(123).then(console.log); console.log("Last");我想问如何同步获取一个已经解决的 Promise 的
阅读更多 →
假设我有一个由 promise 组成的数组。我的数组中的每个元素都是一个 knex.js 查询构建器,准备好执行并返回一个 promise。
我如何才能顺序运行这个数组的每个元素。这个数组是动态构建的。
let promisesArray = [q1,q2,q3] ;每个 q 本身不是一个承诺,但它在执行时会返回一个承诺。
这里可能是一个选项:
let p 阅读更多 →
我在做一些事情时遇到了一个我无法理解的问题。我简化了代码,得到如下结果:
function somePromise() { return new Promise((resolve, reject) => { resolve(1); }); } async function main() { let count = 0; const arr = [1, 2, 3, 4, 5]; const promises =
阅读更多 →
让我先说明一下,我喜欢异步代码。我绝不会在生产环境中将异步代码包装在同步包装器中,但这仍然是我想学习如何做的事情。我具体说的是在 Node.JS 中,而不是浏览器中。有许多方法可以同步地访问异步函数的结果,比如使用 child_process.spawnSync 或者使用 worker 和 Atomics。这些方法的问题在于:
let prom = Promise.resolve(4); // It is now impossible (as far as I know) to access the result of prom syn 阅读更多 →
我想在NodeJS中并行处理多个异步调用。如果其中的特定数量的调用完成,或者所有调用都完成(有些成功,有些失败),我就可以继续。如何做到这一点?
Promise.All() 会在所有 promise 完成时解决,而 Promise.Any() 会在任何一个 promise 解决或全部被拒绝时解决。有没有办法等待 50% 的 promises 被解决,或者等待 n 个 promises 被解决,而不是等待全部解决。
你可以编写一个函数,为每个给定的
阅读更多 →
这个代码片段在 1.7.2 中可以使用,支持成功/错误回调以及 Promise 风格的回调。在 1.8.2 中,成功/错误回调仍然可以使用,但 Promise 不行。我怀疑 return dfd.promise(jqXHR); 这一行是问题所在,但我不确定。
$.ajaxPrefilter(function (options, originalOptions, jqXHR) { // Don't infinitely recurse originalOptions._retry = isNaN(originalOptions._retry) ? Common. 阅读更多 →
我刚接触 AngularJS。我的目标非常简单。我想进行一次 Ajax 调用以获取数据,并且在完成后,我想进行第二次调用以获取另一组依赖于第一组信息的数据。
我正在尝试使用 Promise 机制来实现这一点,这样我就可以利用链式调用而不是嵌套的 ajax 调用,并且更好地保留独立函数的能力,以便根据需要将它们连接在一起。
我的代码如下所示:
var promiseGetWorkTypes = function ($q, $scope, $http) { console.log("promiseGetWorkTypes"); return $q(function (resolve, re
阅读更多 →