无论是ES6 Promise还是蓝鸟Promise,Q Promise等.
如何测试以查看给定对象是否为Promise?
我一直认为JavaScript始终是异步的.但是,我了解到有些情况并非如此(即DOM操作).有什么关于它何时同步以及什么时候它将是异步的?jQuery是否会影响这一点?
例如,我想使用自定义记录器:
logger = require('basic-logger'),
logger.setLevel('info')
var customConfig = {
showMillis: true,
showTimestamp: true
}
var log = new logger(customConfig)
Run Code Online (Sandbox Code Playgroud)
如何在其他模块中使用此记录器而不是console.log?
我正试图加入一个加载Facebook新闻源的功能:
UIIntentionalStream.instance && UIIntentionalStream.instance.loadOlderPosts();
Run Code Online (Sandbox Code Playgroud)
在Facebook.com上.
有没有办法让我用自己的JavaScript做到这一点?基本上,我需要进行某种回调 - 当调用该函数时,我希望调用自己的函数.
我想为我的 vue3 应用程序编写一个简单的测试,测试应该断言特定函数(在本例中为 updateRoute)在不同组件中使用异步声明
注意:根据我当前的项目,我无法将此函数隔离在单个文件中以使其可重用
例子:
const updateRoute = () => { doSomethig() }
Run Code Online (Sandbox Code Playgroud)
应该失败
尽管
const updateRoute = async () => { await doSomethig() }
Run Code Online (Sandbox Code Playgroud)
应该通过
测试库并不重要,它可以是 Jest 或其他任何东西
如果数据绑定的值在await语句后更改,则不会更新。
handle() {
this.message = 'Works'
}
async handle() {
this.message = 'Works'
}
async handle() {
await new Promise((resolve, reject) => {
resolve()
})
this.message = 'Works'
}
async handle() {
await new Promise((resolve, reject) => {
setTimeout(() => resolve(), 3000)
})
this.message = 'Doesn\'t work'
}
handle() {
new Promise((resolve, reject) => {
setTimeout(() => resolve(), 3000)
})
.then(() => this.message = 'Works')
}
Run Code Online (Sandbox Code Playgroud)
为什么最后两个行为不一样?他们不应该是同一件事吗?
离子性:3.9.2
角度:5.0.3
打字稿:2.4.2
编辑:我遇到了与此有关的另一个问题,可能对某些人有用。
在构造函数中更改绑定的值的行为与ionViewDidLoad或ngOnInit有所不同!
constructor(private zone: NgZone) {
// This …Run Code Online (Sandbox Code Playgroud) 有一篇文章AsyncFunction - MDN上的JavaScript.它显示以下代码段:
new AsyncFunction([arg1[, arg2[, ...argN]],] functionBody)
Run Code Online (Sandbox Code Playgroud)
然而,在Mozzila Firefox 55和Google Chrome中,这个构造函数根本没有定义:
我发现(async function() {}).constructor确实如此AsyncFunction,但为什么我不能在全球范围内看到它呢?
javascript ×6
async-await ×2
angular ×1
bluebird ×1
data-binding ×1
ecmascript-6 ×1
es6-promise ×1
jestjs ×1
jquery ×1
node.js ×1
promise ×1
q ×1
standards ×1
testing ×1
typescript ×1
vue.js ×1
vuejs3 ×1